diff options
author | Robert S. French <rfrench@mit.edu> | 1988-05-17 17:21:01 +0000 |
---|---|---|
committer | Robert S. French <rfrench@mit.edu> | 1988-05-17 17:21:01 +0000 |
commit | 031ec0f258f152c1e20905b381aa7f5974db1f3d (patch) | |
tree | 1c15619ec8a5192e2d5095c6efde5e9a47ddc7ce /lib/ZVariables.c | |
parent | 4d21b4b5da809cdf4499190a1e27bff679a90422 (diff) |
All sorts of changes for ver 0.2
Diffstat (limited to 'lib/ZVariables.c')
-rw-r--r-- | lib/ZVariables.c | 234 |
1 files changed, 117 insertions, 117 deletions
diff --git a/lib/ZVariables.c b/lib/ZVariables.c index 1413506..77e8b21 100644 --- a/lib/ZVariables.c +++ b/lib/ZVariables.c @@ -27,154 +27,154 @@ static char rcsid_ZVariables_c[] = "$Header$"; #define _toupper(c) (islower(c)?toupper(c):c) char *ZGetVariable(var) - char *var; + char *var; { - char varfile[128],*ret; - char *get_varval(); + char varfile[128], *ret; + char *get_varval(); - if (get_localvarfile(varfile)) - return ((char *)0); + if (get_localvarfile(varfile)) + return ((char *)0); + + if (ret = get_varval(varfile, var)) + return (ret); - if (ret = get_varval(varfile,var)) - return (ret); - return (get_varval(DEFAULT_VARS_FILE,var)); + return (get_varval(DEFAULT_VARS_FILE, var)); } -Code_t ZSetVariable(var,value) - char *var; - char *value; +Code_t ZSetVariable(var, value) + char *var; + char *value; { - int written; - FILE *fpin,*fpout; - char varfile[128],varfilebackup[128],varbfr[512]; + int written; + FILE *fpin, *fpout; + char varfile[128], varfilebackup[128], varbfr[512]; - written = 0; + written = 0; - if (get_localvarfile(varfile)) - return (ZERR_INTERNAL); + if (get_localvarfile(varfile)) + return (ZERR_INTERNAL); - strcpy(varfilebackup,varfile); - strcat(varfilebackup,".backup"); + strcpy(varfilebackup, varfile); + strcat(varfilebackup, ".backup"); - if (!(fpout = fopen(varfilebackup,"w"))) - return (errno); - if (fpin = fopen(varfile,"r")) { - while (fgets(varbfr,sizeof varbfr,fpin) != (char *) 0) { - if (varbfr[strlen(varbfr)-1] < ' ') - varbfr[strlen(varbfr)-1] = '\0'; - if (varline(varbfr,var)) { - fprintf(fpout,"%s = %s\n",var,value); - written = 1; - } - else - fprintf(fpout,"%s\n",varbfr); - } - fclose(fpin); - } - if (!written) - fprintf(fpout,"%s = %s\n",var,value); - fclose(fpout); - if (rename(varfilebackup,varfile)) - return (errno); - return (ZERR_NONE); + if (!(fpout = fopen(varfilebackup, "w"))) + return (errno); + if (fpin = fopen(varfile, "r")) { + while (fgets(varbfr, sizeof varbfr, fpin) != (char *) 0) { + if (varbfr[strlen(varbfr)-1] < ' ') + varbfr[strlen(varbfr)-1] = '\0'; + if (varline(varbfr, var)) { + fprintf(fpout, "%s = %s\n", var, value); + written = 1; + } + else + fprintf(fpout, "%s\n", varbfr); + } + fclose(fpin); + } + if (!written) + fprintf(fpout, "%s = %s\n", var, value); + fclose(fpout); + if (rename(varfilebackup, varfile)) + return (errno); + return (ZERR_NONE); } Code_t ZUnsetVariable(var) - char *var; + char *var; { - FILE *fpin,*fpout; - char varfile[128],varfilebackup[128],varbfr[512]; + FILE *fpin, *fpout; + char varfile[128], varfilebackup[128], varbfr[512]; - if (get_localvarfile(varfile)) - return (ZERR_INTERNAL); + if (get_localvarfile(varfile)) + return (ZERR_INTERNAL); - strcpy(varfilebackup,varfile); - strcat(varfilebackup,".backup"); + strcpy(varfilebackup, varfile); + strcat(varfilebackup, ".backup"); - if (!(fpout = fopen(varfilebackup,"w"))) - return (errno); - if (fpin = fopen(varfile,"r")) { - while (fgets(varbfr,sizeof varbfr,fpin) != (char *) 0) { - if (varbfr[strlen(varbfr)-1] < ' ') - varbfr[strlen(varbfr)-1] = '\0'; - if (!varline(varbfr,var)) - fprintf(fpout,"%s\n",varbfr); - } - fclose(fpin); - } - fclose(fpout); - if (rename(varfilebackup,varfile)) - return (errno); - return (ZERR_NONE); + if (!(fpout = fopen(varfilebackup, "w"))) + return (errno); + if (fpin = fopen(varfile, "r")) { + while (fgets(varbfr, sizeof varbfr, fpin) != (char *) 0) { + if (varbfr[strlen(varbfr)-1] < ' ') + varbfr[strlen(varbfr)-1] = '\0'; + if (!varline(varbfr, var)) + fprintf(fpout, "%s\n", varbfr); + } + fclose(fpin); + } + fclose(fpout); + if (rename(varfilebackup, varfile)) + return (errno); + return (ZERR_NONE); } static get_localvarfile(bfr) - char *bfr; + char *bfr; { - char *envptr; - struct passwd *pwd; - - envptr = (char *)getenv("HOME"); - if (envptr) - strcpy(bfr,envptr); - else { - if (!(pwd = getpwuid(getuid()))) { - fprintf(stderr,"Zephyr internal failure: Can't find your entry in /etc/passwd\n"); - return (1); - } - strcpy(bfr,pwd->pw_dir); + char *envptr; + struct passwd *pwd; + + envptr = (char *)getenv("HOME"); + if (envptr) + strcpy(bfr, envptr); + else { + if (!(pwd = getpwuid(getuid()))) { + fprintf(stderr, "Zephyr internal failure: Can't find your entry in /etc/passwd\n"); + return (1); } + strcpy(bfr, pwd->pw_dir); + } - strcat(bfr,"/"); - strcat(bfr,".zephyr.vars"); - return (0); + strcat(bfr, "/"); + strcat(bfr, ".zephyr.vars"); + return (0); } -static char *get_varval(fn,var) - char *fn; - char *var; +static char *get_varval(fn, var) + char *fn; + char *var; { - FILE *fp; - char varbfr[512]; - int i; + FILE *fp; + char varbfr[512]; + int i; - fp = fopen(fn,"r"); - if (!fp) - return ((char *)0); - - while (fgets(varbfr,sizeof varbfr,fp) != (char *) 0) { - if (varbfr[strlen(varbfr)-1] < ' ') - varbfr[strlen(varbfr)-1] = '\0'; - if (!(i = varline(varbfr,var))) - continue; - fclose(fp); - return (varbfr+i); - } - fclose(fp); + fp = fopen(fn, "r"); + if (!fp) return ((char *)0); + + while (fgets(varbfr, sizeof varbfr, fp) != (char *) 0) { + if (varbfr[strlen(varbfr)-1] < ' ') + varbfr[strlen(varbfr)-1] = '\0'; + if (!(i = varline(varbfr, var))) + continue; + fclose(fp); + return (varbfr+i); + } + fclose(fp); + return ((char *)0); } -static int varline(bfr,var) - char *bfr; - char *var; +static int varline(bfr, var) + char *bfr; + char *var; { - int i; + int i; - if (!bfr[0] || bfr[0] == '#') - return (0); + if (!bfr[0] || bfr[0] == '#') + return (0); - for (i = 0; bfr[i] && !isspace(bfr[i]) && - bfr[i] != '='; i++) - if (_toupper(bfr[i]) != _toupper(var[i])) - break; - if ((!bfr[i] || !isspace(bfr[i])) && bfr[i] != '=') - return (0); - while (bfr[i] && isspace(bfr[i])) - i++; - if (bfr[i++] != '=') - return (0); - while (bfr[i] && isspace(bfr[i])) - i++; - return (i); + for (i = 0; bfr[i] && !isspace(bfr[i]) && + bfr[i] != '='; i++) + if (_toupper(bfr[i]) != _toupper(var[i])) + break; + if ((!bfr[i] || !isspace(bfr[i])) && bfr[i] != '=') + return (0); + while (bfr[i] && isspace(bfr[i])) + i++; + if (bfr[i++] != '=') + return (0); + while (bfr[i] && isspace(bfr[i])) + i++; + return (i); } - |