home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / canada-remote-systems / cpower / globcp.arc / GDIRLINE.C < prev    next >
Text File  |  2019-04-13  |  956b  |  44 lines

  1. /*
  2.  * ├OPYRIGHT (├) ┴DRIAN ╨EPPER, 1989
  3.  *
  4.  *  ┬UT ╔ (┴DRIAN ╨EPPER) CONSIDER THIS
  5.  * MATERIAL TO BE IN THE ╨UBLIC ─OMAIN.
  6.  */
  7. /*
  8.  * GDIRLINE.C - READ A LINE FROM A
  9.  *   DIRECTORY "LOAD" INTO GIVEN BUF
  10.  *
  11.  * RETURN AS FUNCTION VALUE
  12.  *   - THE "LINE NUMBER" PART OF BASIC
  13.  *     STYLE LINE (THAT IS, NUMBER OF
  14.  *     BLOCKS)
  15.  *   - ┼╧╞ AT END-OF-FILE
  16.  */
  17. #INCLUDE <STDIO.H>
  18.  
  19. GDIRLINE(BUF, FID)
  20. CHAR *BUF;
  21. ╞╔╠┼ FID;
  22.   CHAR *B;
  23.   UNSIGNED C, N;
  24.  
  25.   FGETC(FID);      /* SKIP "LINK" */
  26.   FGETC(FID);      /*  ... */
  27.  
  28.   N = FGETC(FID);  /* GET "LINE NUMBER", LOW BYTE */
  29.   C = FGETC(FID);  /* AND HIGH BYTE */
  30.   N += C<<8;       /* AND PUT THE TWO TOGETHER */
  31.  
  32.   /* READ REST OF LINE; ENDED NORMALLY BY A ZERO BYTE */
  33.   FOR (B = BUF; (C = FGETC(FID)) && C != ┼╧╞; ++B)
  34.     *B = C;
  35.  
  36.   *B = '\0'; /* JUST IN CASE DIDN'T END WITH ZERO */
  37.  
  38.   IF (C == ┼╧╞) RETURN ┼╧╞;
  39.  
  40.   RETURN N;  /* RETURN "LINE NUMBER" */
  41.              /* ASSUME ┼╧╞ IS INVALID LINE NUMBER */
  42.