home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / prof_c / util / fconfig.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-08-11  |  722 b   |  37 lines

  1. /*
  2.  *    fconfig -- return a FILE pointer to a local or
  3.  *    global configuration file, or NULL if none found
  4.  */
  5.  
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <ctype.h>
  10. #include <local\std.h>
  11.  
  12. FILE *
  13. fconfig(varname, fname)
  14. char *varname;
  15. char *fname;
  16. {
  17.     FILE *fp;
  18.     char pname[MAXPATH + 1];
  19.     char *p;
  20.     
  21.     /* look for a local configuration file */
  22.     if ((fp = fopen(fname, "r")) != NULL)
  23.         return (fp);
  24.  
  25.     /* look for a directory variable */
  26.     if ((p = getenv(strupr(varname))) != NULL) {
  27.         strcpy(pname, p);
  28.         strcat(pname, "\\");
  29.         strcat(pname, fname);
  30.         if ((fp = fopen(pname, "r")) != NULL)
  31.             return (fp);
  32.     }
  33.     
  34.     /* didn't find anything to read */
  35.     return (NULL);
  36. }
  37.