home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / utils / asmutl / smmaclnk.ark / SCAN.C < prev    next >
Encoding:
C/C++ Source or Header  |  1987-09-10  |  768 b   |  34 lines

  1. /* 
  2. ** scanning functions
  3. */
  4. #include <stdio.h>
  5. #include "mac.h"
  6. #define NOCCARGC
  7. atend(ch) int ch; {            /* is ch at end of line? */
  8.   switch(ch) {
  9.     case COMMENT: case NULL: case '\n': return (YES);
  10.     }
  11.   return (NO);
  12.   }
  13.  
  14. fldcmp(s, t) char *s, *t; {        /* compare fields in a line */
  15.   while(lexorder(*s, *t) == 0) {
  16.     if(!isgraph(*s)) return (0);
  17.     ++s; ++t;
  18.     }
  19.   if((isspace(*s) || atend(*s)) &&
  20.      (isspace(*t) || atend(*t))) return (0);
  21.   return (*s - *t);
  22.   }
  23.  
  24. skip(n, str) int n; char str[]; {    /* find nth non-blank field in str */
  25.   char *cp; cp = str;
  26.   while(isspace(*cp)) ++cp;
  27.   while(--n) {
  28.     while(isgraph(*cp)) ++cp;
  29.     while(isspace(*cp)) ++cp;
  30.     }
  31.   return (cp);
  32.   }
  33. isspace(*cp)) ++cp;
  34.   while(--n) {