aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/include/libc/stdio.h2
-rw-r--r--tests/files.cpp12
-rw-r--r--tests/runner.py2
3 files changed, 14 insertions, 2 deletions
diff --git a/system/include/libc/stdio.h b/system/include/libc/stdio.h
index fb4501c4..1b0c30f5 100644
--- a/system/include/libc/stdio.h
+++ b/system/include/libc/stdio.h
@@ -647,7 +647,7 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) {
#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
#define __sfileno(p) ((p)->_file)
-#ifndef _REENT_SMALL
+#if 0 /* XXX Emscripten ndef _REENT_SMALL */
#define feof(p) __sfeof(p)
#define ferror(p) __sferror(p)
#define clearerr(p) __sclearerr(p)
diff --git a/tests/files.cpp b/tests/files.cpp
index d692ce67..e1a38421 100644
--- a/tests/files.cpp
+++ b/tests/files.cpp
@@ -28,6 +28,18 @@ int main()
fclose (file);
free (buffer);
+ // Do it again, with a loop on feof
+
+ printf("loop: ");
+ file = fopen("somefile.binary", "rb");
+ assert(file);
+ while (!feof(file)) {
+ char c = fgetc(file);
+ if (c != EOF) printf("%d ", c);
+ }
+ fclose (file);
+ printf("\n");
+
// Standard streams
printf("input:%s\n", gets((char*)malloc(1024)));
diff --git a/tests/runner.py b/tests/runner.py
index a2073af1..e9886ab8 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -2932,7 +2932,7 @@ at function.:blag
other.close()
src = open(path_from_root('tests', 'files.cpp'), 'r').read()
- self.do_run(src, 'size: 7\ndata: 100,-56,50,25,10,77,123\ninput:hi there!\ntexto\ntexte\n$\n5 : 10,30,20,11,88\nother=some data.\nseeked=me da.\nseeked=ata.\nseeked=ta.\nfscanfed: 10 - hello\n',
+ self.do_run(src, 'size: 7\ndata: 100,-56,50,25,10,77,123\nloop: 100 -56 50 25 10 77 123 \ninput:hi there!\ntexto\ntexte\n$\n5 : 10,30,20,11,88\nother=some data.\nseeked=me da.\nseeked=ata.\nseeked=ta.\nfscanfed: 10 - hello\n',
post_build=post, extra_emscripten_args=['-H', 'libc/fcntl.h'])
def test_folders(self):