wasmer/lib/emscripten-tests/emtests/test_printf_more.c

25 lines
821 B
C

/*
* Copyright 2016 The Emscripten Authors. All rights reserved.
* Emscripten is available under two separate licenses, the MIT license and the
* University of Illinois/NCSA Open Source License. Both these licenses can be
* found in the LICENSE file.
*/
#include <stdio.h>
int main() {
int size = snprintf(NULL, 0, "%s %d %.2f\n", "me and myself", 25, 1.345);
char buf[size];
snprintf(buf, size, "%s %d %.2f\n", "me and myself", 25, 1.345);
printf("%d : %s\n", size, buf);
char *buff = NULL;
asprintf(&buff, "%d waka %d\n", 21, 95);
puts(buff);
// test buffering, write more than a musl buffer at once
#define X 1026
char c[X];
for(int i=0;i<X;i++) c[i] ='A';
c[X-1] = '\0';
printf("%s\n", c); /// if X > 1025 this line doesn't print if we don't handle buffering properly
return 0;
}