X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Ffmt_scan.c;h=9c1eb16aecbc8eba89d6a7e3c3dfc5bf9b2ffdf0;hb=3ef341abe440ece07f8deed59fb026ab020e805a;hp=574eeb315e4f885d58c0baae839e6ba0e8dbc0fd;hpb=c3ed95b3c5530b84a73dbdd531cb9aca9ba8dea0;p=mmh diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index 574eeb3..9c1eb16 100644 --- a/sbr/fmt_scan.c +++ b/sbr/fmt_scan.c @@ -155,7 +155,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 +511,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;