about summary refs log tree commit diff
path: root/stdio-common/tstdiomisc.c
diff options
context:
space:
mode:
Diffstat (limited to 'stdio-common/tstdiomisc.c')
-rw-r--r--stdio-common/tstdiomisc.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/stdio-common/tstdiomisc.c b/stdio-common/tstdiomisc.c
new file mode 100644
index 0000000000..0bd5515934
--- /dev/null
+++ b/stdio-common/tstdiomisc.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+
+void
+t1 ()
+{
+  int n = -1;
+  sscanf ("abc  ", "abc %n", &n);
+  printf ("t1: count=%d\n", n);
+}
+
+void
+t2 ()
+{
+  int n;
+  long N;
+  int retval;
+#define SCAN(INPUT, FORMAT, VAR) \
+  VAR = -1; \
+  retval = sscanf (INPUT, FORMAT,  &VAR); \
+  printf ("sscanf (\"%s\", \"%s\", &x) => %d, x = %ld\n", \
+	  INPUT, FORMAT, retval, VAR);
+
+  SCAN ("12345", "%ld", N);
+  SCAN ("12345", "%llllld", N);
+  SCAN ("12345", "%LLLLLd", N);
+  SCAN ("test ", "%*s%n",  n);
+  SCAN ("test ",   "%2*s%n",  n);
+  SCAN ("12 ",   "%l2d",  n);
+  SCAN ("12 ",   "%2ld",  N);
+}
+
+int
+main ()
+{
+  t1 ();
+  t2 ();
+
+  fflush (stdout);
+  return 0;
+}