Since its inception, this top has improperly handled an
empty HOME environment variable. Under those conditions
a path to the root directory would have been constructed.
That caused no real harm upon startup since the display
defaults would have been employed. However, except for
root, it would have been impossible to save the rc file.
This commit keeps the promise made in the documentation.
RCF_t rcdef = DEF_RCFILE;
#endif
float tmp_delay = DEF_DELAY;
- char fbuf[LRGBUFSIZ];
+ char fbuf[LRGBUFSIZ], *p;
FILE *fp;
int i, x;
char id;
- if (!getenv("HOME")) snprintf(Rc_name, sizeof(Rc_name), ".%src", Myname);
- else snprintf(Rc_name, sizeof(Rc_name), "%s/.%src", getenv("HOME"), Myname);
+ p = getenv("HOME");
+ snprintf(Rc_name, sizeof(Rc_name), "%s/.%src", (p && *p) ? p : ".", Myname);
fp = fopen(SYS_RCFILESPEC, "r");
if (fp) {