aboutsummaryrefslogtreecommitdiff
path: root/src/base/io/ungetc.c
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-12-04 14:10:21 -0800
committerNicholas Noll <nbnoll@eml.cc>2021-12-04 14:10:21 -0800
commit12e09f9f85ac48ff891adf92f3b2c9a5fea27273 (patch)
tree60051793885e9978dadf6672ef85cdda216676a2 /src/base/io/ungetc.c
parentb80a3d28ce42be4fdec451f74620b10ee75219dc (diff)
Chore(REMOVE): finished deprecation of old io functions.
The old methods were simple wrappers of C standard library functions. We've moved (painfully) over to a new interface that allows for files to live on the stack. All users of the functionality are ported over.
Diffstat (limited to 'src/base/io/ungetc.c')
-rw-r--r--src/base/io/ungetc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/base/io/ungetc.c b/src/base/io/ungetc.c
new file mode 100644
index 0000000..201ffd6
--- /dev/null
+++ b/src/base/io/ungetc.c
@@ -0,0 +1,13 @@
+#include "internal.h"
+
+int
+io·ungetc(io·Header *io)
+{
+ if(io->state == io·BufEnd)
+ io->state = io·BufRdr;
+ if(io->state != io·BufRdr)
+ return io·BufEof;
+
+ io->ilen--;
+ return 0;
+}