|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T r
Length: 2066 (0x812) Types: TextFile Names: »rdconfig.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦e7f64e0c0⟧ »EurOpenD3/mail/vmh.tar.Z« └─⟦dcb95597f⟧ └─⟦this⟧ »rdconfig.c«
#ifndef lint static char rcsid[] = "$Header: rdconfig.c,v 2.3 86/02/08 21:03:35 deboor Exp $"; static char notice[] = "This program is in the public domain and is available for unlimited \ distribution as long as this notice is enclosed."; #endif /* * routines for dealing with the configuration file * * $Source: /c/support/deboor/usr/src/old/vmh/RCS/rdconfig.c,v $ * $Revision: 2.3 $ * $Author: deboor $ * * FUNCTIONS: * read_config find and read configuration file */ #include "vmh.h" #include <sys/file.h> char helpfile[PATHLENGTH]; extern char pagerstr[], /* in init.c */ editorstr[]; read_config(progname) char *progname; { char confpath[PATHLENGTH]; char line[PATHLENGTH]; /* can have pathname */ register FILE *cfile; register char *cp, /* character pointer */ *pp; /* path pointer */ default_config(); /* start with default */ if (cp = index (progname, '/')) { getwd (confpath); (void) strcat (confpath, "/"); (void) strcat (confpath, progname); (void) strcat (confpath, ".conf"); } else { /* find the thing on the path */ for (pp = getenv("PATH"); *pp; pp++) { for (cp = confpath; *pp != ':'; *cp++ = *pp++) ; *cp = '\0'; (void) strcat (confpath, "/"); (void) strcat (confpath, progname); if ( ! access (confpath, X_OK)) break; } if (*pp) { (void) strcat (confpath, ".conf"); } else return; } if ((cfile = fopen (confpath, "r")) == (FILE *) NULL) { return; } while (fgets (line, sizeof(line), cfile)) { if (cp = index (line, '\n')) *cp = '\0'; for (cp = line; *cp && ! isspace (*cp); cp++) ; *cp++ = '\0'; for (; isspace (*cp); cp++) ; if (uleq (line, "helpfile")) { (void) strcpy (helpfile, cp); } else if (uleq (line, "editor")) { (void) strcpy (editorstr, cp); } else if (uleq (line, "page")) { (void) strcpy (pagerstr, cp); } else { punt ("error in config file"); } } (void) fclose (cfile); } default_config() { (void) strcpy (helpfile, HELPFILE); (void) strcpy (editorstr, EDITOR); (void) strcpy (pagerstr, PAGE); }