From 2352143d69ae06a29332285e4250574179dc0612 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 15 Dec 2011 08:44:30 +0000 Subject: [PATCH] poor man's character case insensitivity --- daemon/aux.h | 4 ++++ daemon/control_udp.c | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/daemon/aux.h b/daemon/aux.h index 3bb3de3fa..641ab37da 100644 --- a/daemon/aux.h +++ b/daemon/aux.h @@ -77,6 +77,10 @@ static inline void bit_array_clear(int *name, unsigned int bit) { name[(bit) / (sizeof(int) * 8)] &= ~(1 << ((bit) % (sizeof(int) * 8))); } +static inline char chrtoupper(char x) { + return x & 0xdf; +} + static inline void uuid_str_generate(char *s) { uuid_t uuid; uuid_generate(uuid); diff --git a/daemon/control_udp.c b/daemon/control_udp.c index 025fec51a..42ab20207 100644 --- a/daemon/control_udp.c +++ b/daemon/control_udp.c @@ -65,7 +65,7 @@ static void control_udp_incoming(int fd, void *p) { iov[0].iov_base = (void *) out[1]; iov[0].iov_len = strlen(out[1]); - if (out[2] && (out[2][0] == 'u' || out[2][0] == 'U' || out[2][0] == 'l' || out[2][0] == 'L')) { + if (out[2] && (chrtoupper(out[2][0]) == 'U' || chrtoupper(out[2][0]) == 'L')) { iov[1].iov_base = (void *) out[3]; iov[1].iov_len = strlen(out[3]); iov[2].iov_base = (void *) out[2]; @@ -109,13 +109,13 @@ static void control_udp_incoming(int fd, void *p) { goto out; } - if (out[2][0] == 'u' || out[2][0] == 'U') + if (chrtoupper(out[2][0]) == 'U') reply = call_update_udp(out, u->callmaster); - else if (out[2][0] == 'l' || out[2][0] == 'L') + else if (chrtoupper(out[2][0]) == 'L') reply = call_lookup_udp(out, u->callmaster); - else if (out[10][0] == 'd' || out[10][0] == 'D') + else if (chrtoupper(out[10][0]) == 'D') reply = call_delete_udp(out, u->callmaster); - else if (out[13][0] == 'v' || out[13][0] == 'V') { + else if (chrtoupper(out[13][0]) == 'V') { ZERO(mh); mh.msg_name = &sin; mh.msg_namelen = sizeof(sin); @@ -127,7 +127,7 @@ static void control_udp_incoming(int fd, void *p) { iov[1].iov_base = " "; iov[1].iov_len = 1; - if (out[14][0] == 'f' || out[14][0] == 'F') { + if (chrtoupper(out[14][0]) == 'F') { ret = 0; if (!strcmp(out[15], "20040107")) ret = 1;