vserver 1.9.5.x5
[linux-2.6.git] / scripts / kconfig / confdata.c
index 7b6285e..1e82ae3 100644 (file)
@@ -27,10 +27,10 @@ const char *conf_confnames[] = {
        NULL,
 };
 
-static char *conf_expand_value(const char *in)
+static char *conf_expand_value(const signed char *in)
 {
        struct symbol *sym;
-       const char *src;
+       const signed char *src;
        static char res_value[SYMBOL_MAXLENGTH];
        char *dst, name[SYMBOL_MAXLENGTH];
 
@@ -270,6 +270,8 @@ int conf_write(const char *name)
        int type, l;
        const char *str;
        time_t now;
+       int use_timestamp = 1;
+       char *env;
 
        dirname[0] = 0;
        if (name && name[0]) {
@@ -293,7 +295,7 @@ int conf_write(const char *name)
        } else
                basename = conf_def_filename;
 
-       sprintf(newname, "%s.tmpconfig.%d", dirname, getpid());
+       sprintf(newname, "%s.tmpconfig.%d", dirname, (int)getpid());
        out = fopen(newname, "w");
        if (!out)
                return 1;
@@ -306,22 +308,28 @@ int conf_write(const char *name)
        sym = sym_lookup("KERNELRELEASE", 0);
        sym_calc_value(sym);
        time(&now);
+       env = getenv("KCONFIG_NOTIMESTAMP");
+       if (env && *env)
+               use_timestamp = 0;
+
        fprintf(out, "#\n"
                     "# Automatically generated make config: don't edit\n"
                     "# Linux kernel version: %s\n"
-                    "%s"
+                    "%s%s"
                     "#\n",
                     sym_get_string_value(sym),
-                    ctime(&now));
+                    use_timestamp ? "# " : "",
+                    use_timestamp ? ctime(&now) : "");
        if (out_h)
                fprintf(out_h, "/*\n"
                               " * Automatically generated C config: don't edit\n"
                               " * Linux kernel version: %s\n"
-                              " * %s"
+                              "%s%s"
                               " */\n"
                               "#define AUTOCONF_INCLUDED\n",
                               sym_get_string_value(sym),
-                              ctime(&now));
+                              use_timestamp ? " * " : "",
+                              use_timestamp ? ctime(&now) : "");
 
        if (!sym_change_count)
                sym_clear_all_valid();