diff options
author | Stefan Eßer <se@FreeBSD.org> | 2020-11-01 20:38:35 +0000 |
---|---|---|
committer | Stefan Eßer <se@FreeBSD.org> | 2020-11-01 20:38:35 +0000 |
commit | ab34af07462164f2aab8418ff35fb4ac63ae0815 (patch) | |
tree | f70e8df4e36252db63af4b1c3f364b019d672570 | |
parent | a97cfe08a7a89a6ca9c34806145b03cae99c0cf8 (diff) | |
download | src-ab34af07462164f2aab8418ff35fb4ac63ae0815.tar.gz src-ab34af07462164f2aab8418ff35fb4ac63ae0815.zip |
Fix psoition reporting for calendar data file in system directory
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=367255
-rw-r--r-- | usr.bin/calendar/io.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/usr.bin/calendar/io.c b/usr.bin/calendar/io.c index 41037cfc2d5b..3c9024b1d103 100644 --- a/usr.bin/calendar/io.c +++ b/usr.bin/calendar/io.c @@ -147,10 +147,22 @@ cal_fopen(const char *file) return (NULL); } +static char* +cal_path(void) +{ + static char buffer[MAXPATHLEN + 10]; + + if (cal_dir[0] == '/') + snprintf(buffer, sizeof(buffer), "%s/%s", cal_dir, cal_file); + else + snprintf(buffer, sizeof(buffer), "%s/%s/%s", cal_home, cal_dir, cal_file); + return (buffer); +} + #define WARN0(format) \ - warnx(format " in %s/%s/%s line %d", cal_home, cal_dir, cal_file, cal_line) + warnx(format " in %s line %d", cal_path(), cal_line) #define WARN1(format, arg1) \ - warnx(format " in %s/%s/%s line %d", arg1, cal_home, cal_dir, cal_file, cal_line) + warnx(format " in %s line %d", arg1, cal_path(), cal_line) static int token(char *line, FILE *out, int *skip, int *unskip) |