home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / uupoll068.lha / misc / uupoll067.lha / src / config.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-16  |  905 b   |  45 lines

  1.  
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include "defines.h"
  5. #include "cus.h"
  6. #include "proto.h"
  7.  
  8.  
  9. char *getfield(char *cpConfigfile, char *cpField, char *cpDestbuf)
  10. {
  11.     FILE *fp = NULL;
  12.     char caLine[RANGE_8BIT];
  13.     char *cpLine;
  14.     char *cp;
  15.     char *rc;
  16.  
  17.     if ((fp = fopen(cpConfigfile, "r")) != NULL) {
  18.         while ((fgets(caLine, RANGE_8BIT, fp)) != NULL) {
  19.             cpLine = caLine;
  20.             if ((strnicmp(cpLine, cpField, strlen(cpField))) == 0) {
  21.                 cpLine += strlen(cpField);
  22.                 if ((*cpLine == SP) || (*cpLine == HT)) {
  23.                     while ((*cpLine == SP) || (*cpLine == HT))
  24.                         cpLine++;
  25.                     if ((*cpLine != NL) && (*cpLine != NUL)) {
  26.                         cp = cpDestbuf;
  27.                         while ((*cpLine != NL) && (*cpLine != NUL) && (*cpLine != SP) &&
  28.                                (*cpLine != HT) && (*cpLine != '#'))
  29.                             *cp++ = *cpLine++;
  30.                         *cp = NUL;
  31.                         CU(cpDestbuf);
  32.                     }
  33.                 }
  34.             }
  35.         }
  36.     }
  37.     rc = NULL;
  38.  
  39.     CUS:
  40.     if (fp)
  41.         fclose(fp);
  42.     return rc;
  43. }
  44.  
  45.