Fix type signedness error in commit 5c40364dd6.
authorJeff Davis <[email protected]>
Fri, 8 Mar 2024 23:58:32 +0000 (15:58 -0800)
committerJeff Davis <[email protected]>
Sat, 9 Mar 2024 00:00:46 +0000 (16:00 -0800)
Use ssize_t instead of size_t.

Discussion: https://postgr.es/m/b20d6d97-7338-48ea-ba33-837a1c8ef98e@iki.fi
Reported-by: Heikki Linnakangas
src/common/unicode_case.c
src/include/common/unicode_case.h

index 842db173ba840788256e7571a7e79fd101f91aa4..8b77f39e4d1b1a2e6ef7829587fe58ba303d320e 100644 (file)
@@ -21,8 +21,8 @@
 #include "mb/pg_wchar.h"
 
 static const pg_case_map *find_case_map(pg_wchar ucs);
-static size_t convert_case(char *dst, size_t dstsize, const char *src, size_t srclen,
-                          CaseKind casekind);
+static size_t convert_case(char *dst, size_t dstsize, const char *src,
+                          ssize_t srclen, CaseKind casekind);
 
 pg_wchar
 unicode_lowercase_simple(pg_wchar code)
@@ -65,7 +65,7 @@ unicode_uppercase_simple(pg_wchar code)
  * required buffer size before allocating.
  */
 size_t
-unicode_strlower(char *dst, size_t dstsize, const char *src, size_t srclen)
+unicode_strlower(char *dst, size_t dstsize, const char *src, ssize_t srclen)
 {
    return convert_case(dst, dstsize, src, srclen, CaseLower);
 }
@@ -87,7 +87,7 @@ unicode_strlower(char *dst, size_t dstsize, const char *src, size_t srclen)
  * required buffer size before allocating.
  */
 size_t
-unicode_strupper(char *dst, size_t dstsize, const char *src, size_t srclen)
+unicode_strupper(char *dst, size_t dstsize, const char *src, ssize_t srclen)
 {
    return convert_case(dst, dstsize, src, srclen, CaseUpper);
 }
@@ -98,7 +98,7 @@ unicode_strupper(char *dst, size_t dstsize, const char *src, size_t srclen)
  * Map each character in the string for which a mapping is available.
  */
 static size_t
-convert_case(char *dst, size_t dstsize, const char *src, size_t srclen,
+convert_case(char *dst, size_t dstsize, const char *src, ssize_t srclen,
             CaseKind casekind)
 {
    size_t      srcoff = 0;
index ad6f62cc41d0ccb6b7822923f5da6f075d63ef16..df36d8db2135b94e8a5aceb875edd352d3fe518a 100644 (file)
@@ -20,8 +20,8 @@ pg_wchar  unicode_lowercase_simple(pg_wchar ucs);
 pg_wchar   unicode_titlecase_simple(pg_wchar ucs);
 pg_wchar   unicode_uppercase_simple(pg_wchar ucs);
 size_t     unicode_strlower(char *dst, size_t dstsize, const char *src,
-                            size_t srclen);
+                            ssize_t srclen);
 size_t     unicode_strupper(char *dst, size_t dstsize, const char *src,
-                            size_t srclen);
+                            ssize_t srclen);
 
 #endif                         /* UNICODE_CASE_H */