date and time created 93/01/23 11:13:23 by bostic
authorKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Sun, 24 Jan 1993 03:13:23 +0000 (19:13 -0800)
committerKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Sun, 24 Jan 1993 03:13:23 +0000 (19:13 -0800)
SCCS-vsn: contrib/ed/rol.c 5.1

usr/src/contrib/ed/rol.c [new file with mode: 0644]

diff --git a/usr/src/contrib/ed/rol.c b/usr/src/contrib/ed/rol.c
new file mode 100644 (file)
index 0000000..8eb8c62
--- /dev/null
@@ -0,0 +1,60 @@
+/*-
+ * Copyright (c) 1992 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Rodney Ruddock of the University of Guelph.
+ *
+ * %sccs.include.redist.c%
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)rol.c      5.1 (Berkeley) %G%";
+#endif /* not lint */
+
+#include "ed.h"
+
+/*
+ * After the command check the rest of the line to see nothing illegal
+ * is following. Any single instance of a printsfx suffix is the only
+ * legal thing to follow ( that is, a 'l', 'n', or 'p'). If a suffix
+ * occurs the execution of that suffix occurs back in the cmd_loop
+ * function after the command that called this function finishes
+ * successfully.
+ */
+
+int
+rol(inputt, errnum)
+
+FILE *inputt;
+int *errnum;
+
+{
+
+  ss = getc(inputt);
+  printsfx = 0;
+  /* only one of the suffix is allowed */
+  if (ss == 'p')
+    printsfx = 1;
+  else if (ss == 'n')
+    printsfx = 2;
+  else if (ss == 'l')
+    printsfx = 4;
+  else
+    ungetc(ss, inputt);
+
+  while (1)
+     {
+       ss = getc(inputt);
+       if ((ss != ' ') && (ss != '\n') && (ss != EOF))
+         {
+           *errnum = -1;
+           strcpy(help_msg, "illegal command option");
+           return(1);
+         }
+       if ((ss == '\n') || (ss == EOF))
+         break;
+     }
+
+return(0); /* rest-of-line was okay */
+} /* end-rol */