Home | History | Annotate | Line # | Download | only in lint1
msg_374.c revision 1.5
      1  1.5  rillig /*	$NetBSD: msg_374.c,v 1.5 2024/03/25 22:37:43 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_374.c"
      3  1.1  rillig 
      4  1.5  rillig // Test for message: unknown conversion '%.*s', must be one of 'bfF=:*' [374]
      5  1.1  rillig 
      6  1.1  rillig /*
      7  1.5  rillig  * In the new-style format, an unknown conversion is assumed to have a single
      8  1.1  rillig  * argument, followed by a null-terminated description.
      9  1.1  rillig  */
     10  1.1  rillig 
     11  1.1  rillig /* lint1-extra-flags: -X 351 */
     12  1.1  rillig 
     13  1.1  rillig typedef typeof(sizeof(0)) size_t;
     14  1.1  rillig typedef unsigned long long uint64_t;
     15  1.1  rillig 
     16  1.1  rillig int snprintb(char*, size_t, const char*, uint64_t);
     17  1.1  rillig 
     18  1.1  rillig void
     19  1.1  rillig example(uint64_t u64)
     20  1.1  rillig {
     21  1.1  rillig 	char buf[64];
     22  1.1  rillig 
     23  1.5  rillig 	/* expect+4: warning: unknown conversion 'x', must be one of 'bfF=:*' [374] */
     24  1.1  rillig 	snprintb(buf, sizeof(buf),
     25  1.1  rillig 	    "\177\020"
     26  1.1  rillig 	    "x12345\0",
     27  1.1  rillig 	    u64);
     28  1.1  rillig 
     29  1.5  rillig 	/* expect+4: warning: unknown conversion '\000', must be one of 'bfF=:*' [374] */
     30  1.1  rillig 	snprintb(buf, sizeof(buf),
     31  1.1  rillig 	    "\177\020"
     32  1.1  rillig 	    "\00012345\0",
     33  1.1  rillig 	    u64);
     34  1.2  rillig 
     35  1.3  rillig 	/* expect+5: warning: redundant '\0' at the end of the format [377] */
     36  1.2  rillig 	snprintb(buf, sizeof(buf),
     37  1.2  rillig 	    "\177\020"
     38  1.2  rillig 	    "b\00012345\0"
     39  1.2  rillig 	    "\0",
     40  1.2  rillig 	    u64);
     41  1.4  rillig 
     42  1.4  rillig 	// Real-life example: the '\b' is a typo.
     43  1.4  rillig 	//
     44  1.5  rillig 	/* expect+4: warning: unknown conversion '\b', must be one of 'bfF=:*' [374] */
     45  1.4  rillig 	snprintb(buf, sizeof(buf),
     46  1.4  rillig 	    "\177\020"
     47  1.5  rillig 	    "b\15ENCNT\0b\16" "TC\0\b\20DSBL_CSR_DRN\0",
     48  1.4  rillig 	    u64);
     49  1.1  rillig }
     50