static int stricmp(char *s, char *t)
/* case-blind string compare */
{
- while (*s && tolower(*s) == tolower(*t))
+ while (*s!='\0' && tolower(*s) == tolower(*t))
s++, t++;
- return(*t - *s);
+ return (int)(*t - *s);
}
static void ascii(char *str)
{
int ch, hi, lo;
char **ptr;
- int len = strlen(str);
+ size_t len = strlen(str);
/* interpret single characters as themselves */
- if (len == 1)
- { speak(str[0]); return; }
+ if (len == 1) {
+ speak((unsigned int)str[0]);
+ return;
+ }
/* process multiple letters */
if (line == 1) {
for (ch = 0; ch < len; ch ++) {
- speak(str[ch]);
+ speak((unsigned int)str[ch]);
}
return;
}
/* interpret ^-escapes as control-character notation */
if (strcmp(str, "^?") == 0)
- { speak(0x7F); return; }
+ { speak((unsigned int)0x7F); return; }
else if (str[0] == '^' && len == 2)
- { speak(str[1] & 0x1f); return; }
+ { speak((unsigned int)(str[1] & 0x1f)); return; }
/* interpret C-style backslash escapes */
if (*str == '\\' && len == 2 && strchr("abfnrtv", str[1]))
for (ch = 7; ch < 14; ch++)
for (ptr = &cnames[ch][1]; *ptr; ptr++)
if (**ptr == '\\' && strcmp(str, *ptr) == 0)
- { speak(ch); return; }
+ { speak((unsigned int)ch); return; }
/* interpret 2 and 3-character ASCII control mnemonics */
if (len == 2 || len == 3)