From 1b131b8c600bc9de8b38b0227637b67f2dfc56bc Mon Sep 17 00:00:00 2001
From: oddcoder <ahmedsoliman@oddcoder.com>
Date: Sat, 23 May 2020 13:23:31 +0200
Subject: [PATCH] Test off by one bug in vfscanf

---
 tests/Makefile                            | 1 +
 tests/expected/stdio/fscanf_offby1.stderr | 0
 tests/expected/stdio/fscanf_offby1.stdout | 1 +
 tests/stdio/fscanf_offby1.c               | 8 ++++++++
 4 files changed, 10 insertions(+)
 create mode 100644 tests/expected/stdio/fscanf_offby1.stderr
 create mode 100644 tests/expected/stdio/fscanf_offby1.stdout
 create mode 100644 tests/stdio/fscanf_offby1.c

diff --git a/tests/Makefile b/tests/Makefile
index bc6123d67..c6958733d 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -44,6 +44,7 @@ EXPECT_NAMES=\
 	stdio/printf_space_pad \
 	stdio/ungetc_multiple \
 	stdio/ungetc_ftell \
+	stdio/fscanf_offby1 \
 	stdlib/a64l \
 	stdlib/alloc \
 	stdlib/atof \
diff --git a/tests/expected/stdio/fscanf_offby1.stderr b/tests/expected/stdio/fscanf_offby1.stderr
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/expected/stdio/fscanf_offby1.stdout b/tests/expected/stdio/fscanf_offby1.stdout
new file mode 100644
index 000000000..daf724a9e
--- /dev/null
+++ b/tests/expected/stdio/fscanf_offby1.stdout
@@ -0,0 +1 @@
+1234, 7, 32
diff --git a/tests/stdio/fscanf_offby1.c b/tests/stdio/fscanf_offby1.c
new file mode 100644
index 000000000..c83393579
--- /dev/null
+++ b/tests/stdio/fscanf_offby1.c
@@ -0,0 +1,8 @@
+//1234 a
+#include <stdio.h>
+int main() {
+        FILE *f = fopen("stdio/fscanf_offby1.c", "r");
+        int x;
+        fscanf(f, "//%d", &x);
+        printf("%d, %ld, %d\n", x, ftell(f), fgetc(f));
+}
-- 
GitLab