Date: Wed, 28 Oct 2020 21:10:46 +0000 (UTC) From: =?UTF-8?Q?Stefan_E=c3=9fer?= <se@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r553563 - head/deskutils/calendar/files Message-ID: <202010282110.09SLAkkr037318@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: se Date: Wed Oct 28 21:10:46 2020 New Revision: 553563 URL: https://svnweb.freebsd.org/changeset/ports/553563 Log: Upgrade to FreeBSD base SVN version r367108 This version add support for nested conditionals, #ifdef and #else. Modified: head/deskutils/calendar/files/patch-io.c Modified: head/deskutils/calendar/files/patch-io.c ============================================================================== --- head/deskutils/calendar/files/patch-io.c Wed Oct 28 21:07:18 2020 (r553562) +++ head/deskutils/calendar/files/patch-io.c Wed Oct 28 21:10:46 2020 (r553563) @@ -1,20 +1,112 @@ ---- io.c.orig 2020-10-18 03:01:26 UTC +--- io.c.orig 2020-10-28 20:58:10 UTC +++ io.c -@@ -42,7 +42,7 @@ static char sccsid[] = "@(#)calendar.c 8.3 (Berkeley) - #endif +@@ -134,18 +134,66 @@ cal_fopen(const char *file) + } - #include <sys/cdefs.h> --__FBSDID("$FreeBSD$"); -+__FBSDID("$FreeBSD: head/usr.bin/calendar/io.c 366962 2020-10-23 09:22:23Z se $"); + static int +-token(char *line, FILE *out, bool *skip) ++token(char *line, FILE *out, int *skip) + { + char *walk, c, a; - #include <sys/param.h> - #include <sys/stat.h> -@@ -71,7 +71,7 @@ enum { - }; + if (strncmp(line, "endif", 5) == 0) { +- *skip = false; ++ if (*skip > 0) ++ --*skip; + return (T_OK); + } - const char *calendarFile = "calendar"; /* default calendar file */ --static const char *calendarHomes[] = {".calendar", _PATH_INCLUDE}; /* HOME */ -+static const char *calendarHomes[] = {".calendar", _PATH_INCLUDE_LOCAL, _PATH_INCLUDE}; /* HOME */ - static const char *calendarNoMail = "nomail";/* don't sent mail if file exist */ +- if (*skip) ++ if (strncmp(line, "ifdef", 5) == 0) { ++ walk = line + 5; ++ trimlr(&walk); ++ ++ if (*walk == '\0') { ++ warnx("Expecting arguments after #ifdef"); ++ return (T_ERR); ++ } ++ ++ if (*skip != 0 || definitions == NULL || sl_find(definitions, walk) == NULL) ++ ++*skip; ++ + return (T_OK); ++ } - static char path[MAXPATHLEN]; ++ if (strncmp(line, "ifndef", 6) == 0) { ++ walk = line + 6; ++ trimlr(&walk); ++ ++ if (*walk == '\0') { ++ warnx("Expecting arguments after #ifndef"); ++ return (T_ERR); ++ } ++ ++ if (*skip != 0 || (definitions != NULL && sl_find(definitions, walk) != NULL)) ++ ++*skip; ++ ++ return (T_OK); ++ } ++ ++ if (strncmp(line, "else", 4) == 0) { ++ walk = line + 4; ++ trimlr(&walk); ++ ++ if (*walk != '\0') { ++ warnx("Expecting no arguments after #else"); ++ return (T_ERR); ++ } ++ ++ if (*skip == 0) ++ *skip = 1; ++ else if (*skip == 1) ++ *skip = 0; ++ ++ return (T_OK); ++ } ++ ++ if (*skip != 0) ++ return (T_OK); ++ + if (strncmp(line, "include", 7) == 0) { + walk = line + 7; + +@@ -206,21 +254,6 @@ token(char *line, FILE *out, bool *skip) + return (T_OK); + } + +- if (strncmp(line, "ifndef", 6) == 0) { +- walk = line + 6; +- trimlr(&walk); +- +- if (*walk == '\0') { +- warnx("Expecting arguments after #ifndef"); +- return (T_ERR); +- } +- +- if (definitions != NULL && sl_find(definitions, walk) != NULL) +- *skip = true; +- +- return (T_OK); +- } +- + return (T_PROCESS); + + } +@@ -248,7 +281,7 @@ cal_parse(FILE *in, FILE *out) + int month[MAXCOUNT]; + int day[MAXCOUNT]; + int year[MAXCOUNT]; +- bool skip = false; ++ int skip = 0; + char dbuf[80]; + char *pp, p; + struct tm tm; +@@ -278,7 +311,7 @@ cal_parse(FILE *in, FILE *out) + } + } + +- if (skip) ++ if (skip != 0) + continue; + + buf = line;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010282110.09SLAkkr037318>