home *** CD-ROM | disk | FTP | other *** search
/ gondwana.ecr.mu.oz.au/pub/ / Graphics.tar / Graphics / fermiVogle.tar.Z / fermiVogle.tar / devel / hershey / src / getchar.c < prev    next >
C/C++ Source or Header  |  1996-02-07  |  778b  |  52 lines

  1. #include <stdio.h>
  2. #include "vogle.h"
  3.  
  4. /*
  5.  * getcharacter
  6.  *
  7.  *    read in a character line from a hershey font file
  8.  */
  9. int
  10. getcharacter(fp, no, pairs, buf)
  11.     FILE    *fp;
  12.     int    *no, *pairs;
  13.     char    *buf;
  14. {
  15.     int    i;
  16.     char    *p, tmp[10];
  17.  
  18.     /*
  19.      * read in the numbers
  20.      */
  21.     for (i = 0; i < 5; i++) {
  22.         if ((tmp[i] = fgetc(fp)) == '\n')    /* take care of the odd blank line */
  23.             tmp[i] = fgetc(fp);
  24.         if (feof(fp))
  25.             return(0);
  26.     }
  27.     tmp[5] = 0;
  28.     sscanf(tmp, "%d", no);
  29.         
  30.     for (i = 0; i < 3; i++) {
  31.         tmp[i] = fgetc(fp);
  32.         if (feof(fp))
  33.             return(0);
  34.     }
  35.     tmp[3] = 0;
  36.     sscanf(tmp, "%d", pairs);
  37.         
  38.  
  39.     /*
  40.      * read in the pairs
  41.      */
  42.     for (p = buf, i = 0; i < 2 * *pairs; i++, p++)
  43.         if ((*p = fgetc(fp)) == '\n')
  44.             *p = fgetc(fp);
  45.  
  46.     *p = 0;
  47.  
  48.     fgetc(fp);            /* skip newline at end */
  49.  
  50.     return(1);
  51. }
  52.