diff options
author | Rob Landley <rob@landley.net> | 2005-09-05 11:04:30 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2005-09-05 11:04:30 +0000 |
commit | 8f991043625a1933f5086a933d92bac28316869a (patch) | |
tree | fc2c1fae50aaa37e94f1e47b68e7e50ac5c3abb5 /scripts/config/confdata.c | |
parent | d1fa5859d60b246f5b345e921edbb86e31c41930 (diff) | |
download | busybox-w32-8f991043625a1933f5086a933d92bac28316869a.tar.gz busybox-w32-8f991043625a1933f5086a933d92bac28316869a.tar.bz2 busybox-w32-8f991043625a1933f5086a933d92bac28316869a.zip |
The previous commit left confdata writing out:
CONFIG_NUMERIC_CONSTANT=
And on reading it back in, it would complain that '' was an invalid value for
that field. I.E. "make allnoconfig && make" worked fine, but
"make allnoconfig && make menuconfig" barfed reading in the config file.
So now I have it write out "0" as the blank value. (It's initialized to the
default value when the menu becomes visible anyway; I checked.) That seems
to work.
Diffstat (limited to 'scripts/config/confdata.c')
-rw-r--r-- | scripts/config/confdata.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/scripts/config/confdata.c b/scripts/config/confdata.c index 1d1b61e2b..78f3b20a7 100644 --- a/scripts/config/confdata.c +++ b/scripts/config/confdata.c | |||
@@ -396,21 +396,20 @@ int conf_write(const char *name) | |||
396 | case S_HEX: | 396 | case S_HEX: |
397 | str = sym_get_string_value(sym); | 397 | str = sym_get_string_value(sym); |
398 | if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { | 398 | if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { |
399 | fprintf(out, "%s=%s\n", sym->name, str); | 399 | fprintf(out, "%s=%s\n", sym->name, *str ? str : "0"); |
400 | if (out_h) | 400 | if (out_h) |
401 | fprintf(out_h, "#define %s 0x%s\n", sym->name, str); | 401 | fprintf(out_h, "#define %s 0x%s\n", sym->name, str); |
402 | break; | 402 | break; |
403 | } | 403 | } |
404 | case S_INT: | 404 | case S_INT: |
405 | str = sym_get_string_value(sym); | 405 | str = sym_get_string_value(sym); |
406 | fprintf(out, "%s=%s\n", sym->name, str); | 406 | fprintf(out, "%s=%s\n", sym->name, *str ? str : "0"); |
407 | if (out_h) | 407 | if (out_h) |
408 | fprintf(out_h, "#define %s %s\n", sym->name, str); | 408 | fprintf(out_h, "#define %s %s\n", sym->name, str); |
409 | break; | 409 | break; |
410 | } | 410 | } |
411 | } | 411 | } |
412 | 412 | ||
413 | next: | ||
414 | if (menu->list) { | 413 | if (menu->list) { |
415 | menu = menu->list; | 414 | menu = menu->list; |
416 | continue; | 415 | continue; |