1 1.3 rillig /* $NetBSD: msg_356.c,v 1.3 2024/03/25 22:37:43 rillig Exp $ */ 2 1.1 rillig # 3 "msg_356.c" 3 1.1 rillig 4 1.2 rillig // Test for message: short octal escape '%.*s' followed by digit '%c' [356] 5 1.1 rillig 6 1.1 rillig /* lint1-extra-flags: -X 351 */ 7 1.1 rillig 8 1.1 rillig // When counting backwards in octal, the number before \040 is not \039 but 9 1.3 rillig // \037. This mistake sometimes happens when encoding the bit numbers for 10 1.3 rillig // snprintb(3) format conversions. 11 1.1 rillig 12 1.1 rillig char snprintb_fmt[] = "\020" 13 1.1 rillig "\0040bit32" // 3-digit octal escapes are fine 14 1.1 rillig "\0039bit31" 15 1.1 rillig "\0038bit30" 16 1.1 rillig 17 1.1 rillig "\040bit32" 18 1.1 rillig /* expect+1: warning: short octal escape '\03' followed by digit '9' [356] */ 19 1.1 rillig "\039bit31" 20 1.1 rillig /* expect+1: warning: short octal escape '\03' followed by digit '8' [356] */ 21 1.1 rillig "\038bit30" 22 1.1 rillig 23 1.1 rillig "\40bit32" 24 1.1 rillig /* expect+1: warning: short octal escape '\3' followed by digit '9' [356] */ 25 1.1 rillig "\39bit31" 26 1.1 rillig /* expect+1: warning: short octal escape '\3' followed by digit '8' [356] */ 27 1.1 rillig "\38bit30" 28 1.1 rillig "\37bit29" 29 1.1 rillig ; 30 1.1 rillig 31 1.1 rillig char ok[] = "" 32 1.1 rillig "\3\70" // short octal followed by escaped '8' 33 1.1 rillig "\3\x38" // short octal followed by escaped '8' 34 1.1 rillig "\3" "8" // short octal and '8' are separated 35 1.1 rillig ; 36