+/*
+ * Quickly read a line from the specified input into the line
+ * buffer; return characters read.
+ */
+
+freadline(ibuf, linebuf)
+ register FILE *ibuf;
+ register char *linebuf;
+{
+ register int c;
+ register char *cp;
+
+ c = getc(ibuf);
+ cp = linebuf;
+ while (c != '\n' && c != EOF) {
+ if (c == 0) {
+ c = getc(ibuf);
+ continue;
+ }
+ if (cp - linebuf >= BUFSIZ-1) {
+ *cp = 0;
+ return(cp - linebuf + 1);
+ }
+ *cp++ = c;
+ c = getc(ibuf);
+ }
+ if (c == EOF && cp == linebuf)
+ return(0);
+ *cp = 0;
+ return(cp - linebuf + 1);
+}
+