home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / macutils.lzh / MACUTILS / HEXBIN / readline.c < prev    next >
C/C++ Source or Header  |  1996-02-01  |  703b  |  41 lines

  1. #include "globals.h"
  2. #include "readline.h"
  3.  
  4. char line[1024];    /* Allow a lot! */
  5.  
  6. /* Read a line.  Allow termination by CR or LF or both.  Also allow for
  7.    a non-terminated line at end-of-file.  Returns 1 if a line is read,
  8.    0 otherwise. */
  9. int readline()
  10. {
  11.     int ptr = 0, c;
  12.  
  13.     while(1) {
  14.     if(was_macbin && to_read-- <= 0) {
  15.         c = EOF;
  16.     } else {
  17.         c = getc(ifp);
  18.     }
  19.     if(c == EOF || c == '\n' || c == '\r' || ptr == 1023) {
  20.         break;
  21.     }
  22.     line[ptr++] = c;
  23.     }
  24.     line[ptr++] = 0;
  25.     if(c == EOF) {
  26.     if(ptr == 1) {
  27.         return 0;
  28.     } else {
  29.         return 1;
  30.     }
  31.     }
  32.     c = getc(ifp);
  33.     if(c != '\n' || c != '\r') {
  34.     (void)ungetc(c, ifp);
  35.     } else {
  36.     to_read--;
  37.     }
  38.     return 1;
  39. }
  40.  
  41.