summaryrefslogtreecommitdiff
path: root/Build/source/texk/seetexk/fio.c
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
committerKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
commit487ca4806cc046076293cf6cc5fbba0db282bac7 (patch)
tree847b412ab5158dd7bdd7ed7e5a4cc3fbca94be32 /Build/source/texk/seetexk/fio.c
parenta3d3111bfe26b8e5f5bc6049dfb2a4ca2edc7881 (diff)
texk 1
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/seetexk/fio.c')
-rw-r--r--Build/source/texk/seetexk/fio.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/Build/source/texk/seetexk/fio.c b/Build/source/texk/seetexk/fio.c
new file mode 100644
index 00000000000..b4ccf8974c1
--- /dev/null
+++ b/Build/source/texk/seetexk/fio.c
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 1987, 1989 University of Maryland
+ * Department of Computer Science. All rights reserved.
+ * Permission to copy for any purpose is hereby granted
+ * so long as this copyright notice remains intact.
+ */
+
+#ifndef lint
+static char rcsid[] = "$Header: /usr/src/local/tex/local/mctex/lib/RCS/fio.c,v 2.4 89/08/22 21:50:31 chris Exp $";
+#endif
+
+/*
+ * File I/O subroutines for getting bytes, words, 3bytes, and longwords.
+ * N.B.: these believe they are working on a DVI file.
+ */
+
+#include <stdio.h>
+#include "types.h"
+#include "error.h"
+#include "fio.h"
+
+static char eofmsg[] = "unexpected EOF, help";
+
+/* for symmetry: */
+#define fGetByte(fp, r) ((r) = getc(fp))
+#define Sign32(i) (i)
+
+#define make(name, func, signextend) \
+i32 \
+name(fp) \
+ register FILE *fp; \
+{ \
+ register i32 n; \
+ \
+ func(fp, n); \
+ if (feof(fp)) \
+ error(1, 0, eofmsg); \
+ return (signextend(n)); \
+}
+
+make(GetByte, fGetByte, Sign8)
+make(GetWord, fGetWord, Sign16)
+make(Get3Byte, fGet3Byte, Sign24)
+make(GetLong, fGetLong, Sign32)