syslogd: work around rename() not renaming hardlinks to themselves
[oweals/busybox.git] / scripts / kconfig / confdata.c
index 79bb4a38e4d24bc255c1921ea0a71b384015e19e..bd2d70e19e50311290c541a2451f1dbb18e8a9f8 100644 (file)
@@ -22,7 +22,7 @@ static int conf_lineno, conf_warnings, conf_unsaved;
 
 const char conf_def_filename[] = ".config";
 
-const char conf_defname[] = "scripts/defconfig";
+const char conf_defname[] = "/dev/null"; //bbox
 
 const char *conf_confnames[] = {
        conf_def_filename,
@@ -70,12 +70,13 @@ static char *conf_expand_value(const char *in)
 char *conf_get_default_confname(void)
 {
        struct stat buf;
-       static char fullname[PATH_MAX+1];
+       static char *fullname = NULL;
        char *env, *name;
 
        name = conf_expand_value(conf_defname);
        env = getenv(SRCTREE);
        if (env) {
+               fullname = realloc(fullname, strlen(env) + strlen(name) + 2);
                sprintf(fullname, "%s/%s", env, name);
                if (!stat(fullname, &buf))
                        return fullname;
@@ -222,7 +223,8 @@ int conf_read_simple(const char *name)
                                        sym->user.val = strdup(p);
                                        sym->flags &= ~SYMBOL_NEW;
                                } else {
-                                       conf_warning("symbol value '%s' invalid for %s", p, sym->name);
+                                       if (p[0]) /* bbox */
+                                               conf_warning("symbol value '%s' invalid for %s", p, sym->name);
                                        continue;
                                }
                                break;
@@ -403,6 +405,8 @@ int conf_write(const char *name)
                        if (ret == 0)
                                strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
                                        "\"%Y-%m-%d %H:%M:%S\"\n", localtime(&now));
+               } else { /* bbox */
+                       strcpy(buf, "#define AUTOCONF_TIMESTAMP \"\"\n");
                }
                fprintf(out_h, "/*\n"
                               " * Automatically generated C config: don't edit\n"
@@ -434,7 +438,7 @@ int conf_write(const char *name)
                                               " */\n", str);
                } else if (!(sym->flags & SYMBOL_CHOICE)) {
                        sym_calc_value(sym);
-/* bbox: we want to all syms
+/* bbox: we want to see all syms
                        if (!(sym->flags & SYMBOL_WRITE))
                                goto next;
 */
@@ -455,8 +459,8 @@ int conf_write(const char *name)
                                                fprintf(out_h, "#undef CONFIG_%s\n", sym->name);
                                                /* bbox */
                                                fprintf(out_h, "#define ENABLE_%s 0\n", sym->name);
-                                               fprintf(out_h, "#define USE_%s(...)\n", sym->name);
-                                               fprintf(out_h, "#define SKIP_%s(...) __VA_ARGS__\n", sym->name);
+                                               fprintf(out_h, "#define IF_%s(...)\n", sym->name);
+                                               fprintf(out_h, "#define IF_NOT_%s(...) __VA_ARGS__\n", sym->name);
                                        }
                                        break;
                                case mod:
@@ -470,8 +474,8 @@ int conf_write(const char *name)
                                                fprintf(out_h, "#define CONFIG_%s 1\n", sym->name);
                                                /* bbox */
                                                fprintf(out_h, "#define ENABLE_%s 1\n", sym->name);
-                                               fprintf(out_h, "#define USE_%s(...) __VA_ARGS__\n", sym->name);
-                                               fprintf(out_h, "#define SKIP_%s(...)\n", sym->name);
+                                               fprintf(out_h, "#define IF_%s(...) __VA_ARGS__\n", sym->name);
+                                               fprintf(out_h, "#define IF_NOT_%s(...)\n", sym->name);
                                        }
                                        break;
                                }
@@ -502,8 +506,8 @@ int conf_write(const char *name)
                                        fputs("\"\n", out_h);
                                        /* bbox */
                                        fprintf(out_h, "#define ENABLE_%s 1\n", sym->name);
-                                       fprintf(out_h, "#define USE_%s(...) __VA_ARGS__\n", sym->name);
-                                       fprintf(out_h, "#define SKIP_%s(...)\n", sym->name);
+                                       fprintf(out_h, "#define IF_%s(...) __VA_ARGS__\n", sym->name);
+                                       fprintf(out_h, "#define IF_NOT_%s(...)\n", sym->name);
                                }
                                break;
                        case S_HEX:
@@ -514,20 +518,22 @@ int conf_write(const char *name)
                                                fprintf(out_h, "#define CONFIG_%s 0x%s\n", sym->name, str);
                                                /* bbox */
                                                fprintf(out_h, "#define ENABLE_%s 1\n", sym->name);
-                                               fprintf(out_h, "#define USE_%s(...) __VA_ARGS__\n", sym->name);
-                                               fprintf(out_h, "#define SKIP_%s(...)\n", sym->name);
+                                               fprintf(out_h, "#define IF_%s(...) __VA_ARGS__\n", sym->name);
+                                               fprintf(out_h, "#define IF_NOT_%s(...)\n", sym->name);
                                        }
                                        break;
                                }
                        case S_INT:
                                str = sym_get_string_value(sym);
+                               if (!str[0])
+                                       str = "0";
                                fprintf(out, "CONFIG_%s=%s\n", sym->name, str);
                                if (out_h) {
                                        fprintf(out_h, "#define CONFIG_%s %s\n", sym->name, str);
                                        /* bbox */
                                        fprintf(out_h, "#define ENABLE_%s 1\n", sym->name);
-                                       fprintf(out_h, "#define USE_%s(...) __VA_ARGS__\n", sym->name);
-                                       fprintf(out_h, "#define SKIP_%s(...)\n", sym->name);
+                                       fprintf(out_h, "#define IF_%s(...) __VA_ARGS__\n", sym->name);
+                                       fprintf(out_h, "#define IF_NOT_%s(...)\n", sym->name);
                                }
                                break;
                        }