top: tweak that recent enhancement to startup defaults

When the new approach for startup defaults was adopted
in the reference below, a file might be left open that
technically should be closed. This situation arises in
the unlikely event the #define RCFILE_NOERR is active.

Without that #define, the program will exit early thus
rendering the open file issue moot. However, even with
that #define there was no real harm with an open file.
It simply meant a 2nd FILE struct would have been used
when, or if, the rcfile was written via a 'W' command.

Anyway, this patch ensures such a file will be closed.

Reference(s):
. Dec, 2017 - /etc/topdefaultrc introduced
commit 55a42ae040

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner 2018-01-07 00:00:00 -06:00 committed by Craig Small
parent 233b5228be
commit 6f2e66969a

View File

@ -3309,7 +3309,7 @@ error Hey, fix the above fscanf 'PFLAGSSIZ' dependency !
* line 15 : miscellaneous additional global settings
* Any remaining lines are devoted to the 'Inspect Other' feature
* 3. 'SYS_RCDEFAULTS' system-wide defaults if 'Rc_name' absent
* format is identical to #2 above */
* format is identical to #2 above */
static void configs_read (void) {
float tmp_delay = DEF_DELAY;
const char *p, *p_home;
@ -3347,15 +3347,15 @@ static void configs_read (void) {
}
if (fp) {
if ((p = config_file(fp, Rc_name, &tmp_delay)))
goto default_or_error;
p = config_file(fp, Rc_name, &tmp_delay);
fclose(fp);
if (p) goto default_or_error;
} else {
fp = fopen(SYS_RCDEFAULTS, "r");
if (fp) {
if ((p = config_file(fp, SYS_RCDEFAULTS, &tmp_delay)))
goto default_or_error;
p = config_file(fp, SYS_RCDEFAULTS, &tmp_delay);
fclose(fp);
if (p) goto default_or_error;
}
}