blob: 82e4640d65dd5f74191ea7366b15acf81c6cb561 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
#include <assert.h>
#include <string.h>
int main() {
char buffer[10];
int ret = snprintf(buffer, 10, "%d", 123456789);
assert(strncmp("123456789", buffer, 10) == 0);
assert(ret == 9);
// We deliberately induce a warning here.
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-truncation"
ret = snprintf(buffer, 10, "%d", 1234567890);
assert(strncmp("123456789", buffer, 10) == 0);
assert(ret == 10);
#pragma GCC diagnostic pop
// mlibc issue #118.
ret = snprintf(NULL, 0, "%d", 123456789);
assert(ret == 9);
return 0;
}
|