Home | History | Annotate | Line # | Download | only in lint1
      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