/* The "AFSCONF" environment (or contents of "/.AFSCONF") will be typically set to something like "/afs/<cell>/common/etc" where, by convention, the default files for "ThisCell" and "CellServDB" will reside; note that a major drawback is that a given afs client on that cell may NOT contain the same contents... */
char *home_dir;
afsconf_FILE *fp;
- size_t len;
+ size_t len = 0;
int r;
if (!(home_dir = getenv("HOME"))) {
if (fp == 0)
goto fail;
- fgets(afs_confdir, 128, fp);
- fclose(fp);
} else {
char *pathname = NULL;
if (fp == 0)
goto fail;
}
- fgets(afs_confdir, 128, fp);
- fclose(fp);
}
- len = strlen(afs_confdir);
+ if (fgets(afs_confdir, 128, fp) != NULL)
+ len = strlen(afs_confdir);
+ fclose(fp);
if (len == 0)
goto fail;
*
* @return status
* @retval 0 success
- * @retval AFSCONF_UNKNOWN failed to get cellname
+ * @retval AFSCONF_NOCELLNAME cannot determine local cell name
*
* @internal
*/
if (adir->cellName) {
*pname = adir->cellName;
} else
- code = AFSCONF_UNKNOWN;
+ code = AFSCONF_NOCELLNAME;
}
return code;
}