From 31482b2c6b0936b0b999eb2e001e5613f721745a Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 17 Jan 2003 04:09:23 +0000 Subject: fix some undefined behaviour with increments in C. In theory a compiler could have produced complete crap for this code. (This used to be commit 0e90da0810b60dd1c2b1ec46c1a2993856b919d3) --- source3/lib/util_str.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index 2224a24ab3..3c34df6f33 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -1037,8 +1037,10 @@ void strlower_m(char *s) supported multi-byte character sets are ascii-compatible (ie. they match for the first 128 chars) */ - while (*s && !(((unsigned char)s[0]) & 0x7F)) - *s++ = tolower((unsigned char)*s); + while (*s && !(((unsigned char)s[0]) & 0x7F)) { + *s = tolower((unsigned char)*s); + s++; + } if (!*s) return; @@ -1074,8 +1076,10 @@ void strupper_m(char *s) supported multi-byte character sets are ascii-compatible (ie. they match for the first 128 chars) */ - while (*s && !(((unsigned char)s[0]) & 0x7F)) - *s++ = toupper((unsigned char)*s); + while (*s && !(((unsigned char)s[0]) & 0x7F)) { + *s = toupper((unsigned char)*s); + s++; + } if (!*s) return; -- cgit