diff options
author | Karl Ramm <kcr@1ts.org> | 2010-12-04 03:20:08 +0000 |
---|---|---|
committer | Karl Ramm <kcr@1ts.org> | 2010-12-04 03:20:08 +0000 |
commit | 62f7d61f20d77bb6e265c003fdeb11413ba712b9 (patch) | |
tree | 3e129df991931a10a5ce0971c357567ea5e89e0f /lib | |
parent | 4371d4d992c58c9e8737e9ec5284199b4b523a25 (diff) |
No output, ever! We have com_err for a reason
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ZVariables.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/lib/ZVariables.c b/lib/ZVariables.c index 6f0aec9..6f06bab 100644 --- a/lib/ZVariables.c +++ b/lib/ZVariables.c @@ -20,7 +20,7 @@ static const char rcsid_ZVariables_c[] = "$Id$"; #include <ctype.h> #include <pwd.h> -static int get_localvarfile(char *bfr); +Code_t get_localvarfile(char *bfr); static char *get_varval(char *fn, char *val); static int varline(char *bfr, char *var); @@ -28,8 +28,10 @@ char * ZGetVariable(char *var) { char varfile[128], *ret; + Code_t code; - if (get_localvarfile(varfile)) + code = get_localvarfile(varfile); + if (code) return ((char *)0); if ((ret = get_varval(varfile, var)) != ZERR_NONE) @@ -45,11 +47,13 @@ ZSetVariable(char *var, char *value) int written; FILE *fpin, *fpout; char varfile[128], varfilebackup[128], varbfr[512]; + Code_t code; written = 0; - - if (get_localvarfile(varfile)) - return (ZERR_INTERNAL); + + code = get_localvarfile(varfile); + if (code) + return code; (void) strcpy(varfilebackup, varfile); (void) strcat(varfilebackup, ".backup"); @@ -83,9 +87,11 @@ ZUnsetVariable(char *var) { FILE *fpin, *fpout; char varfile[128], varfilebackup[128], varbfr[512]; + Code_t code; - if (get_localvarfile(varfile)) - return (ZERR_INTERNAL); + code = get_localvarfile(varfile); + if (code) + return code; (void) strcpy(varfilebackup, varfile); (void) strcat(varfilebackup, ".backup"); @@ -108,7 +114,7 @@ ZUnsetVariable(char *var) return (ZERR_NONE); } -static int +Code_t get_localvarfile(char *bfr) { char *envptr; @@ -122,10 +128,8 @@ get_localvarfile(char *bfr) if (envptr) (void) strcpy(bfr, envptr); else { - if (!(pwd = getpwuid((int) getuid()))) { - fprintf(stderr, "Zephyr internal failure: Can't determine your home directory.\n"); - return (1); - } + if (!(pwd = getpwuid((int) getuid()))) + return errno; (void) strcpy(bfr, pwd->pw_dir); } |