summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/lib/input2int.c
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/web2c/lib/input2int.c
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/lib/input2int.c')
-rw-r--r--Build/source/texk/web2c/lib/input2int.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/lib/input2int.c b/Build/source/texk/web2c/lib/input2int.c
new file mode 100644
index 00000000000..5bd42016b4e
--- /dev/null
+++ b/Build/source/texk/web2c/lib/input2int.c
@@ -0,0 +1,48 @@
+/* input2int.c: read two or three integers from text files. These
+ routines are only used in patgen. Public domain. */
+
+#include <w2c/config.h>
+#include "lib.h"
+
+#ifdef INTEGER_IS_INT
+#define SCAN2INT "%d %d"
+#define SCAN3INT "%d %d %d"
+#else
+#define SCAN2INT "%ld %ld"
+#define SCAN3INT "%ld %ld %ld"
+#endif
+
+/* Read two integers from stdin. */
+
+void
+zinput2ints (integer *a, integer *b)
+{
+ int ch;
+
+ while (scanf (SCAN2INT, a, b) != 2)
+ {
+ while ((ch = getchar ()) != EOF && ch != '\n');
+ if (ch == EOF) return;
+ fprintf (stderr, "Please enter two integers.\n");
+ }
+
+ while ((ch = getchar ()) != EOF && ch != '\n');
+}
+
+
+/* Read three integers from stdin. */
+
+void
+zinput3ints (integer *a, integer *b, integer *c)
+{
+ int ch;
+
+ while (scanf (SCAN3INT, a, b, c) != 3)
+ {
+ while ((ch = getchar ()) != EOF && ch != '\n');
+ if (ch == EOF) return;
+ fprintf (stderr, "Please enter three integers.\n");
+ }
+
+ while ((ch = getchar ()) != EOF && ch != '\n');
+}