| lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | #include <stdio.h> | 
|  | 2 | #include <stdlib.h> | 
|  | 3 | #include <libc-internal.h> | 
|  | 4 |  | 
|  | 5 | int | 
|  | 6 | main (int argc, char *argv[]) | 
|  | 7 | { | 
|  | 8 | long long int n; | 
|  | 9 | int ret; | 
|  | 10 |  | 
|  | 11 | n = -1; | 
|  | 12 | ret = sscanf ("1000", "%lld", &n); | 
|  | 13 | printf ("%%lld: ret: %d, n: %Ld\n", ret, n); | 
|  | 14 | if (ret != 1 || n != 1000L) | 
|  | 15 | abort (); | 
|  | 16 |  | 
|  | 17 | n = -2; | 
|  | 18 |  | 
|  | 19 | /* We are testing a corner case of the scanf format string here.  */ | 
|  | 20 | DIAG_PUSH_NEEDS_COMMENT; | 
|  | 21 | DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat"); | 
|  | 22 | DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat-extra-args"); | 
|  | 23 |  | 
|  | 24 | ret = sscanf ("1000", "%llld", &n); | 
|  | 25 |  | 
|  | 26 | DIAG_POP_NEEDS_COMMENT; | 
|  | 27 |  | 
|  | 28 | printf ("%%llld: ret: %d, n: %Ld\n", ret, n); | 
|  | 29 | if (ret > 0 || n >= 0L) | 
|  | 30 | abort (); | 
|  | 31 |  | 
|  | 32 | return 0; | 
|  | 33 | } |