bc: make error line number also size_t, like everything else
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 2 Jan 2019 15:30:24 +0000 (16:30 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 2 Jan 2019 15:30:24 +0000 (16:30 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
miscutils/bc.c

index bb91216c2d3a55c8210744d2a6b1b426a598dcb0..e5726ca400bc0bfb28ad7408d6283bc80166c27a 100644 (file)
@@ -753,7 +753,7 @@ struct globals {
 
        // For error messages. Can be set to current parsed line,
        // or [TODO] to current executing line (can be before last parsed one)
-       unsigned err_line;
+       size_t err_line;
 
        BcVec input_buffer;
 
@@ -916,7 +916,9 @@ static void bc_verror_msg(const char *fmt, va_list p)
        const char *sv = sv; // for compiler
        if (G.prs.lex_filename) {
                sv = applet_name;
-               applet_name = xasprintf("%s: %s:%u", applet_name, G.prs.lex_filename, G.err_line);
+               applet_name = xasprintf("%s: %s:%lu", applet_name,
+                       G.prs.lex_filename, (unsigned long)G.err_line
+               );
        }
        bb_verror_msg(fmt, p, NULL);
        if (G.prs.lex_filename) {
@@ -3532,7 +3534,8 @@ static void xc_parse_pushIndex(size_t idx)
 
        dbg_lex("%s:%d pushing index %zd", __func__, __LINE__, idx);
        if (idx < SMALL_INDEX_LIMIT) {
-               goto push_idx;
+               xc_parse_push(idx);
+               return;
        }
 
        mask = ((size_t)0xff) << (sizeof(idx) * 8 - 8);
@@ -3546,11 +3549,10 @@ static void xc_parse_pushIndex(size_t idx)
 
        xc_parse_push((SMALL_INDEX_LIMIT - 1) + amt);
 
-       while (idx != 0) {
- push_idx:
+       do {
                xc_parse_push((unsigned char)idx);
                idx >>= 8;
-       }
+       } while (idx != 0);
 }
 
 #if ENABLE_BC