some testcases I had lying around here
[cparser] / format_check.c
index 93c4c21..3ac9110 100644 (file)
@@ -389,7 +389,6 @@ break_fmt_flags:
                        case 'x':
                                allowed_flags = FMT_FLAG_MINUS | FMT_FLAG_HASH | FMT_FLAG_ZERO;
                                goto eval_fmt_mod_unsigned;
-                               break;
 
                        case 'u':
                                allowed_flags = FMT_FLAG_MINUS | FMT_FLAG_ZERO;
@@ -524,7 +523,7 @@ eval_fmt_mod_unsigned:
                        if (wrong_flags & FMT_FLAG_TICK)  wrong[idx++] = '\'';
                        wrong[idx] = '\0';
 
-                       warningf(pos, "invalid format flags \"%s\" in conversion specification %%%c at position", wrong, fmt, num_fmt);
+                       warningf(pos, "invalid format flags \"%s\" in conversion specification %%%c at position %u", wrong, fmt, num_fmt);
                }
 
                if (arg == NULL) {
@@ -552,7 +551,7 @@ eval_fmt_mod_unsigned:
                        }
                        if (is_type_valid(arg_skip)) {
                                warningf(pos,
-                                       "argument type '%T' does not match conversion specifier '%%%s%c' at position",
+                                       "argument type '%T' does not match conversion specifier '%%%s%c' at position %u",
                                        arg_type, get_length_modifier_name(fmt_mod), (char)fmt, num_fmt);
                        }
                }