Mercurial > printf
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test_asprintf.c Wed Dec 03 03:04:39 2025 -0500 @@ -0,0 +1,45 @@ +#include "printf.h" + +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#include <float.h> + +int test_asprintf(void) +{ + int n, n2; + char *s1, *s2; + + n = my_asprintf(&s1, +#include "test.h" + ); + if (n < 0) { + fprintf(stderr, "my_asprintf: %s\n", my_strerror(n)); + return -1; + } + n2 = asprintf(&s2, +#include "test.h" + ); + if (n2 < 0) { + my_free(s1); + perror("asprintf"); + return -1; + } + + if (strcmp(s1, s2) || (n != n2)) { + fprintf(stderr, "Got different results!!\n"); + fprintf(stderr, " fprintf: %d; %s", n, s1); + fprintf(stderr, " my_fprintf: %d; %s", n2, s2); + + my_free(s1); + free(s2); + + return -1; + } + + my_free(s1); + free(s2); + + return 0; +}
