X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Ffmt_scan.c;h=8d0383608c03053b66e24d615526d791de6c259e;hb=811c11557492b9a6e6bd5ae45bb5597647ba5c99;hp=8475d50e3bbebca160269a6a3478673c2dee9a09;hpb=c0591ef34ea123aa8c709bda122308256d2c84cd;p=mmh diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index 8475d50..8d03836 100644 --- a/sbr/fmt_scan.c +++ b/sbr/fmt_scan.c @@ -2,8 +2,6 @@ /* * fmt_scan.c -- format string interpretation * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -128,10 +126,11 @@ cpnumber(char **dest, int num, unsigned int wid, char fill, size_t n) { static void cptrimmed(char **dest, char *str, unsigned int wid, char fill, size_t n) { int remaining; /* remaining output width available */ - int c, ljust, w; + int c, ljust; int end; /* number of input bytes remaining in str */ #ifdef MULTIBYTE_SUPPORT int char_len; /* bytes in current character */ + int w; wchar_t wide_char; #endif char *sp; /* current position in source string */ @@ -288,15 +287,17 @@ get_x400_comp (char *mbox, char *key, char *buffer, int buffer_len) || !(cp = strchr(mbox += idx + strlen (key), '/'))) return 0; - snprintf (buffer, buffer_len, "%*.*s", cp - mbox, cp - mbox, mbox); + snprintf (buffer, buffer_len, "%*.*s", (int)(cp - mbox), (int)(cp - mbox), mbox); return 1; } struct format * fmt_scan (struct format *format, char *scanl, int width, int *dat) { - char *cp, *ep, *sp; - char *savestr, *str = NULL; + char *cp, *ep; + unsigned char *sp; + char *savestr = NULL; + unsigned char *str = NULL; char buffer[BUFSIZ], buffer2[BUFSIZ]; int i, c, ljust, n; int value = 0; @@ -359,11 +360,12 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat) case FT_NUM: n = snprintf(cp, ep - cp + 1, "%d", value); - if (n >= 0) + if (n >= 0) { if (n >= ep - cp) { cp = ep; } else cp += n; + } break; case FT_NUMF: cpnumber (&cp, value, fmt->f_width, fmt->f_fill, ep - cp); @@ -492,7 +494,7 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat) case FT_LS_TRIM: if (str) { - char *xp; + unsigned char *xp; strncpy(buffer, str, sizeof(buffer)); buffer[sizeof(buffer)-1] = '\0'; @@ -800,7 +802,8 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat) * (e.g., "To: ") */ { - char *lp, *lastb; + unsigned char *lp; + char *lastb; int indent, wid, len; lp = str;