Index: wasm-tests/hello-putchar.c |
diff --git a/wasm-tests/hello-putchar.c b/wasm-tests/hello-putchar.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eacbf067adddce5eb033673e232f83afc5460964 |
--- /dev/null |
+++ b/wasm-tests/hello-putchar.c |
@@ -0,0 +1,45 @@ |
+#include <stdio.h> |
+#include <string.h> |
+#include <unistd.h> |
+ |
+void write_int_(int fd, int n) { |
+ if (n > 0) { |
+ write_int_(fd, n / 10); |
+ |
+ int rem = n % 10; |
+ char c = '0' + rem; |
+ write(fd, &c, 1); |
+ } |
+} |
+ |
+void write_int(int fd, int n) { |
+ if (n == 0) { |
+ write(fd, "0", 1); |
+ } else { |
+ if (n < 0) { |
+ write(fd, "-", 1); |
+ write_int_(fd, -n); |
+ } else { |
+ write_int_(fd, n); |
+ } |
+ } |
+} |
+ |
+void stderr_int(int n) { |
+ write_int(2, n); |
+ write(2, "\n", 1); |
+} |
+ |
+int main(int argc, const char **argv) { |
+ char *str = "Hello, World!\n"; |
+ for (int i = 0; str[i]; ++i) { |
+ putchar(str[i]); |
+ |
+ // write(2, "---\n", 4); |
Jim Stichnoth
2016/04/14 20:03:44
Do these commented lines need to stay?
Eric Holk
2016/04/15 15:24:27
Nope.
Done.
|
+ // write(2, "wpos: ", 6); |
+ // stderr_int(((int *)stdout)[5]); //wpos |
+ // write(2, "wend: ", 6); |
+ // stderr_int(((int *)stdout)[4]); //wend |
+ } |
+ return 0; |
+} |