]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Quiet GCC
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 7 Dec 2021 02:16:38 +0000 (21:16 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 7 Dec 2021 02:16:52 +0000 (21:16 -0500)
src/include/build.h
src/lib/util/sbuff.c

index 182cd1f9641e7c6f91f064ede2d689193a920cb1..e839468f51d6fcc2b946bff20ead23ba2f6f40ff 100644 (file)
@@ -240,6 +240,13 @@ do { \
 #define SIZEOF_MEMBER(_t, _m) sizeof(((_t *)0)->_m)
 #define NUM_ELEMENTS(_t) (sizeof((_t)) / sizeof(*(_t)))
 
+/*
+ *     For use with multidimensional arrays where
+ *     the deeper array element has a size smaller than
+ *     a pointer i.e. char foo[n][m]
+ */
+#define NUM_PTR_ELEMENTS(_t) (sizeof((_t)) / sizeof(void *))
+
 /*
  *     Type checking
  */
index 1602b640b93114572b4135523209e415831a7bae..b6586bf98b258ff1fb1f22e836495fed987e5021 100644 (file)
@@ -2074,7 +2074,7 @@ static char const *sbuff_print_char(char c)
                return "\v";
 
        default:
-               if (!p || (p++ >= ((char **)str + (NUM_ELEMENTS(str) - 1)))) p = (char **)str;
+               if (!p || (p++ >= ((char **)str + (NUM_PTR_ELEMENTS(str) - 1)))) p = (char **)str;
 
                if (unprintables[(uint8_t)c]) {
                        snprintf(*p, sizeof(*str), "\\x%x", c);