libbb: use BUILD_BUG_ON in utoa_to_buf()
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 28 Mar 2018 15:12:56 +0000 (17:12 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 28 Mar 2018 15:12:56 +0000 (17:12 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
libbb/xfuncs.c

index 43ae980656cb181aaca66d63f48528f3f1bf2fbe..e8c027f1769954dae24ba2fd5227ef893ffab593 100644 (file)
@@ -59,24 +59,23 @@ char* FAST_FUNC strncpy_IFNAMSIZ(char *dst, const char *src)
  * A truncated result contains the first few digits of the result ala strncpy.
  * Returns a pointer past last generated digit, does _not_ store NUL.
  */
-void BUG_sizeof(void);
 char* FAST_FUNC utoa_to_buf(unsigned n, char *buf, unsigned buflen)
 {
        unsigned i, out, res;
 
        if (buflen) {
                out = 0;
+
+               BUILD_BUG_ON(sizeof(n) != 4 && sizeof(n) != 8);
                if (sizeof(n) == 4)
                // 2^32-1 = 4294967295
                        i = 1000000000;
-#if UINT_MAX > 4294967295 /* prevents warning about "const too large" */
+#if UINT_MAX > 0xffffffff /* prevents warning about "const too large" */
                else
                if (sizeof(n) == 8)
                // 2^64-1 = 18446744073709551615
                        i = 10000000000000000000;
 #endif
-               else
-                       BUG_sizeof();
                for (; i; i /= 10) {
                        res = n / i;
                        n = n % i;