summaryrefslogtreecommitdiffhomepage
path: root/include/stc/ccommon.h
diff options
context:
space:
mode:
authortylov <[email protected]>2023-08-15 10:34:05 +0200
committertylov <[email protected]>2023-08-15 10:34:05 +0200
commit5be09e526bc4ee4d1f586aa906e1f9a9c8e3e165 (patch)
tree0eecf57ae25269e25ca14153eb53568351a5e79e /include/stc/ccommon.h
parent5898353f686619a5345df7babae9c3e2ed84db29 (diff)
downloadSTC-modified-5be09e526bc4ee4d1f586aa906e1f9a9c8e3e165.tar.gz
STC-modified-5be09e526bc4ee4d1f586aa906e1f9a9c8e3e165.zip
Fixed c_i2u() didn't trigger -Wsign-conversion warning.
Diffstat (limited to 'include/stc/ccommon.h')
-rw-r--r--include/stc/ccommon.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/stc/ccommon.h b/include/stc/ccommon.h
index 42631f85..e33e657a 100644
--- a/include/stc/ccommon.h
+++ b/include/stc/ccommon.h
@@ -88,16 +88,16 @@ typedef long long _llong;
#define c_const_cast(T, p) ((T)(1 ? (p) : (T)0))
#define c_swap(T, xp, yp) do { T *_xp = xp, *_yp = yp, \
_tv = *_xp; *_xp = *_yp; *_yp = _tv; } while (0)
+// use with gcc -Wsign-conversion
#define c_sizeof (intptr_t)sizeof
#define c_strlen(s) (intptr_t)strlen(s)
-
#define c_strncmp(a, b, ilen) strncmp(a, b, c_i2u(ilen))
#define c_memcpy(d, s, ilen) memcpy(d, s, c_i2u(ilen))
#define c_memmove(d, s, ilen) memmove(d, s, c_i2u(ilen))
#define c_memset(d, val, ilen) memset(d, val, c_i2u(ilen))
#define c_memcmp(a, b, ilen) memcmp(a, b, c_i2u(ilen))
-#define c_u2i(u) ((intptr_t)(1 ? (u) : (size_t)1))
-#define c_i2u(i) ((size_t)(1 ? (i) : (intptr_t)1))
+#define c_u2i(u) (intptr_t)(1 ? (u) : (size_t)1)
+#define c_i2u(i) (size_t)(1 ? (i) : -1)
#define c_LTu(a, b) ((size_t)(a) < (size_t)(b))
// x and y are i_keyraw* type, defaults to i_key*: