about summary refs log tree commit diff
path: root/blaze822_priv.h
diff options
context:
space:
mode:
Diffstat (limited to 'blaze822_priv.h')
-rw-r--r--blaze822_priv.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/blaze822_priv.h b/blaze822_priv.h
index a84c963..e5f4a09 100644
--- a/blaze822_priv.h
+++ b/blaze822_priv.h
@@ -12,9 +12,9 @@ struct message {
 
 #define isfws(c)  (((unsigned char)(c) == ' ' || (unsigned char)(c) == '\t' || (unsigned char)(c) == '\n' || (unsigned char)(c) == '\r'))
 
-// ASCII lowercase/uppercase without alpha check (wrong for "@[\]^_")
-#define lc(c) ((c) | 0x20)
-#define uc(c) ((c) & 0xdf)
+// 7bit-ASCII only lowercase/uppercase
+#define lc(c) (((unsigned)(c)-'A') < 26 ? ((c) | 0x20) : (c))
+#define uc(c) (((unsigned)(c)-'a') < 26 ? ((c) & 0xdf) : (c))
 
 // dirent type that can be a mail/dir (following symlinks)
 #if defined(DT_REG) && defined(DT_LNK) && defined(DT_UNKNOWN)