From ccd415c63feb034b071e28f2df189718eec6c911 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 25 Mar 2001 23:23:59 +0000 Subject: Fix unportable assumptions about alignment of local char[n] variables. --- src/backend/utils/mb/wstrncmp.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/backend/utils') diff --git a/src/backend/utils/mb/wstrncmp.c b/src/backend/utils/mb/wstrncmp.c index 64641478978..c1aac9c66e4 100644 --- a/src/backend/utils/mb/wstrncmp.c +++ b/src/backend/utils/mb/wstrncmp.c @@ -43,14 +43,12 @@ register const pg_wchar *s1, *s2; register size_t n; { - if (n == 0) return 0; do { if (*s1 != *s2++) - return (*(const pg_wchar *) s1 - - *(const pg_wchar *) (s2 - 1)); + return (*s1 - *(s2 - 1)); if (*s1++ == 0) break; } while (--n != 0); @@ -63,14 +61,12 @@ register const char *s1; register const pg_wchar *s2; register size_t n; { - if (n == 0) return 0; do { - if ((pg_wchar) * s1 != *s2++) - return (*(const pg_wchar *) s1 - - *(const pg_wchar *) (s2 - 1)); + if ((pg_wchar) ((unsigned char) *s1) != *s2++) + return ((pg_wchar) ((unsigned char) *s1) - *(s2 - 1)); if (*s1++ == 0) break; } while (--n != 0); @@ -83,6 +79,7 @@ const pg_wchar *str; { register const pg_wchar *s; - for (s = str; *s; ++s); + for (s = str; *s; ++s) + ; return (s - str); } -- cgit v1.2.3