aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2005-09-25 10:34:35 +0000
committerMatthias Andree <matthias.andree@gmx.de>2005-09-25 10:34:35 +0000
commit9084f49286547cdd9043015b8c2088c1c7dc27bd (patch)
tree3cc9e92b74565df8fe3d60ea7628edca69639cf4
parent39b9add3ccc3aabad2382b06d4fbdbae41f53e63 (diff)
downloadfetchmail-9084f49286547cdd9043015b8c2088c1c7dc27bd.tar.gz
fetchmail-9084f49286547cdd9043015b8c2088c1c7dc27bd.tar.bz2
fetchmail-9084f49286547cdd9043015b8c2088c1c7dc27bd.zip
Properly cast arguments of ctype is*()/to*() functions to unsigned char.
svn path=/trunk/; revision=4324
-rw-r--r--base64.c2
-rw-r--r--imap.c4
-rw-r--r--kerberos.c4
-rw-r--r--strcasecmp.c18
4 files changed, 14 insertions, 14 deletions
diff --git a/base64.c b/base64.c
index 03c6db44..21e1db9e 100644
--- a/base64.c
+++ b/base64.c
@@ -25,7 +25,7 @@ static const char base64val[] = {
BAD, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,BAD, BAD,BAD,BAD,BAD
};
-#define DECODE64(c) (isascii(c) ? base64val[c] : BAD)
+#define DECODE64(c) (isascii((unsigned char)(c)) ? base64val[c] : BAD)
void to64frombits(unsigned char *out, const unsigned char *in, int inlen)
/* raw bytes in quasi-big-endian order to base 64 string (NUL-terminated) */
diff --git a/imap.c b/imap.c
index 544d720e..c76decc0 100644
--- a/imap.c
+++ b/imap.c
@@ -272,7 +272,7 @@ static void capa_probe(int sock, struct query *ctl)
/* capability checks are supposed to be caseblind */
for (cp = capabilities; *cp; cp++)
- *cp = toupper(*cp);
+ *cp = toupper((unsigned char)*cp);
/* UW-IMAP server 10.173 notifies in all caps, but RFC2060 says we
should expect a response in mixed-case */
@@ -846,7 +846,7 @@ static int imap_getpartialsizes(int sock, int first, int last, int *sizes)
return(ok);
/* we want response matching to be case-insensitive */
for (cp = buf; *cp; cp++)
- *cp = toupper(*cp);
+ *cp = toupper((unsigned char)*cp);
/* an untagged NO means that a message was not readable */
if (strstr(buf, "* NO"))
;
diff --git a/kerberos.c b/kerberos.c
index 2cbfe8c1..b329b12f 100644
--- a/kerberos.c
+++ b/kerberos.c
@@ -96,8 +96,8 @@ int do_rfc1731(int sock, char *command, char *truename)
strncpy(srvinst, truename, (sizeof srvinst)-1);
srvinst[(sizeof srvinst)-1] = '\0';
for (p = srvinst; *p; p++) {
- if (isupper(*p)) {
- *p = tolower(*p);
+ if (isupper((unsigned char)*p)) {
+ *p = tolower((unsigned char)*p);
}
}
diff --git a/strcasecmp.c b/strcasecmp.c
index c1f3bbd8..76ab9be3 100644
--- a/strcasecmp.c
+++ b/strcasecmp.c
@@ -6,18 +6,18 @@
*/
#include <ctype.h>
-strcasecmp(char *s1, char *s2)
+int strcasecmp(char *s1, char *s2)
{
- while (toupper(*s1) == toupper(*s2++))
+ while (toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
if (*s1++ == '\0')
- return(0);
- return(toupper(*s1) - toupper(*--s2));
+ return 0;
+ return(toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
}
-strncasecmp(char *s1, char *s2, register int n)
+int strncasecmp(char *s1, char *s2, register int n)
{
- while (--n >= 0 && toupper(*s1) == toupper(*s2++))
- if (toupper(*s1++) == '\0')
- return(0);
- return(n < 0 ? 0 : toupper(*s1) - toupper(*--s2));
+ while (--n >= 0 && toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
+ if (*s1++ == '\0')
+ return 0;
+ return(n < 0 ? 0 : toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
}