X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Ffmt_scan.c;h=89023cbcee9adac862adf8cee67a96c4b52dfe6b;hb=d6bc0d17efe54a1dd7110547aae4b1bb6e223bb7;hp=574eeb315e4f885d58c0baae839e6ba0e8dbc0fd;hpb=c3ed95b3c5530b84a73dbdd531cb9aca9ba8dea0;p=mmh diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index 574eeb3..89023cb 100644 --- a/sbr/fmt_scan.c +++ b/sbr/fmt_scan.c @@ -33,7 +33,8 @@ struct msgs *fmt_current_folder; /* current folder (set by main program) */ #endif extern int fmt_norm; /* defined in sbr/fmt_def.c = AD_NAME */ -struct mailname fmt_mnull; +struct mailname fmt_mnull = { NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, + NULL, NULL }; /* * static prototypes @@ -155,7 +156,10 @@ cptrimmed(char **dest, char *str, unsigned int wid, char fill, size_t n) { sp += char_len; #else end--; - if (iscntrl(*sp) || isspace(*sp)) { + /* isnctrl(), etc., take an int argument. Cygwin's ctype.h + intentionally warns if they are passed a char. */ + int c = *sp; + if (iscntrl(c) || isspace(c)) { sp++; #endif if (!prevCtrl) { @@ -508,13 +512,13 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat) ljust++; } - if (!ljust && i > 0 && strlen(str) > i) + if (!ljust && i > 0 && (int) strlen(str) > i) str[i] = '\0'; xp = str; xp += strlen(str) - 1; while (xp > str && isspace(*xp)) *xp-- = '\0'; - if (ljust && i > 0 && strlen(str) > i) + if (ljust && i > 0 && (int) strlen(str) > i) str += strlen(str) - i; } break;