annotate test_asprintf.c @ 0:e3088565a6b8 default tip

*: initial commit kinda dumb, but wifi was out and I was bored. most of this code is shit.
author Paper <paper@tflc.us>
date Wed, 03 Dec 2025 03:04:39 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
1 #include "printf.h"
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
2
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
3 #include <stdint.h>
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
4 #include <stdlib.h>
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
5 #include <string.h>
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
6 #include <limits.h>
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
7 #include <float.h>
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
8
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
9 int test_asprintf(void)
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
10 {
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
11 int n, n2;
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
12 char *s1, *s2;
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
13
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
14 n = my_asprintf(&s1,
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
15 #include "test.h"
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
16 );
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
17 if (n < 0) {
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
18 fprintf(stderr, "my_asprintf: %s\n", my_strerror(n));
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
19 return -1;
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
20 }
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
21 n2 = asprintf(&s2,
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
22 #include "test.h"
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
23 );
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
24 if (n2 < 0) {
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
25 my_free(s1);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
26 perror("asprintf");
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
27 return -1;
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
28 }
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
29
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
30 if (strcmp(s1, s2) || (n != n2)) {
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
31 fprintf(stderr, "Got different results!!\n");
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
32 fprintf(stderr, " fprintf: %d; %s", n, s1);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
33 fprintf(stderr, " my_fprintf: %d; %s", n2, s2);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
34
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
35 my_free(s1);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
36 free(s2);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
37
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
38 return -1;
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
39 }
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
40
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
41 my_free(s1);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
42 free(s2);
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
43
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
44 return 0;
e3088565a6b8 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
45 }