char *s1, *s2;
while ((c1 = *sub)) {
- c1 = (isascii((unsigned char) c1) && isalpha((unsigned char) c1) &&
- isupper((unsigned char) c1)) ? tolower((unsigned char) c1) : c1;
- while ((c2 = *str++) && c1 != ((isascii((unsigned char) c2) &&
- isalpha((unsigned char) c2) &&
- isupper((unsigned char) c2)) ?
- tolower((unsigned char) c2) : c2))
+ c1 = tolower((unsigned char)c1);
+ while ((c2 = *str++) && c1 != tolower((unsigned char)c2))
;
if (! c2)
return 0;
s1 = sub + 1; s2 = str;
- while ((c1 = *s1++) && ((isascii((unsigned char) c1) &&
- isalpha((unsigned char) c1) &&
- isupper((unsigned char) c1)) ?
- tolower(c1) : c1) ==
- ((isascii((unsigned char) (c2 =*s2++)) &&
- isalpha((unsigned char) c2) &&
- isupper((unsigned char) c2)) ?
- tolower((unsigned char) c2) : c2))
+ while ((c1 = *s1++) &&
+ tolower((unsigned char)c1) == tolower((unsigned char)(c2 = *s2++)))
;
if (! c1)
return 1;
prevCtrl = 0;
#ifdef MULTIBYTE_SUPPORT
- charstring_push_back_chars (dest, altstr ? altstr : str, char_len, w);
- max -= w;
- str += char_len;
- altstr = NULL;
+ assert(w >= 0);
+ if (max >= (size_t) w) {
+ charstring_push_back_chars (dest, altstr ? altstr : str, char_len, w);
+ max -= w;
+ str += char_len;
+ altstr = NULL;
+ } else {
+ /* Not enough width available for the last character. Output
+ space(s) to fill. */
+ while (max-- > 0) {
+ charstring_push_back (dest, ' ');
+ }
+ break;
+ }
#else /* MULTIBYE_SUPPORT */
charstring_push_back (dest, *str++);
--max;
{
char *sp;
char *savestr, *str;
- char buffer[BUFSIZ], buffer2[BUFSIZ];
+ char buffer[NMH_BUFSIZ], buffer2[NMH_BUFSIZ];
int i, c, rjust;
int value;
time_t t;
}
}
- return ((struct format *)0);
+ return (NULL);
}