Merge branch 'master' of git://github.com/chunkeey/carl9170fw
[carl9170fw.git] / config / conf.c
index b8ba1d3e53b578e5fc4e62f27d6d51063077b923..cdbdb1129eeb3067b26451c0851d014d709a4ad2 100644 (file)
@@ -35,6 +35,7 @@ enum input_mode {
 } input_mode = oldaskconfig;
 
 static int indent = 1;
+static int tty_stdio;
 static int valid_stdin = 1;
 static int conf_cnt;
 static char line[128];
@@ -105,6 +106,8 @@ static int conf_askvalue(struct symbol *sym, const char *def)
        case oldaskconfig:
                fflush(stdout);
                xfgets(line, 128, stdin);
+               if (!tty_stdio)
+                       printf("\n");
                return 1;
        default:
                break;
@@ -482,6 +485,8 @@ int main(int ac, char **av)
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
 
+       tty_stdio = isatty(0) && isatty(1) && isatty(2);
+
        while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) {
                input_mode = (enum input_mode)opt;
                switch (opt) {
@@ -552,7 +557,9 @@ int main(int ac, char **av)
        case alldefconfig:
        case randconfig:
                name = getenv("KCONFIG_ALLCONFIG");
-               if (name && (strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) {
+               if (!name)
+                       break;
+               if ((strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) {
                        if (conf_read_simple(name, S_DEF_USER)) {
                                fprintf(stderr,
                                        _("*** Can't read seed configuration \"%s\"!\n"),
@@ -581,7 +588,7 @@ int main(int ac, char **av)
                break;
        }
 
-       valid_stdin = isatty(0) && isatty(1) && isatty(2);
+       valid_stdin = tty_stdio;
 
        switch (input_mode) {
        case allnoconfig: