linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / scripts / kconfig / confdata.c
index c1702d8..b0cbbe2 100644 (file)
@@ -153,6 +153,7 @@ int conf_read_simple(const char *name)
                                break;
                        } else if (!(sym->flags & SYMBOL_NEW)) {
                                conf_warning("trying to reassign symbol %s", sym->name);
+                               break;
                        }
                        switch (sym->type) {
                        case S_BOOLEAN:
@@ -182,6 +183,7 @@ int conf_read_simple(const char *name)
                                break;
                        } else if (!(sym->flags & SYMBOL_NEW)) {
                                conf_warning("trying to reassign symbol %s", sym->name);
+                               break;
                        }
                        switch (sym->type) {
                        case S_TRISTATE:
@@ -254,7 +256,7 @@ int conf_read_simple(const char *name)
                                        cs->flags |= SYMBOL_NEW;
                                } else
                                        cs->user.val = sym;
-                               //break;
+                               break;
                        }
                        cs->user.tri = E_OR(cs->user.tri, sym->user.tri);
                }
@@ -323,7 +325,7 @@ int conf_read(const char *name)
                                sym->flags |= e->right.sym->flags & SYMBOL_NEW;
        }
 
-       sym_change_count = conf_warnings || conf_unsaved;
+       sym_change_count = conf_warnings && conf_unsaved;
 
        return 0;
 }
@@ -372,7 +374,6 @@ int conf_write(const char *name)
                out_h = fopen(".tmpconfig.h", "w");
                if (!out_h)
                        return 1;
-               file_write_dep(NULL);
        }
        sym = sym_lookup("KERNELVERSION", 0);
        sym_calc_value(sym);
@@ -511,6 +512,7 @@ int conf_write(const char *name)
        if (out_h) {
                fclose(out_h);
                rename(".tmpconfig.h", "include/linux/autoconf.h");
+               file_write_dep(NULL);
        }
        if (!name || basename != conf_def_filename) {
                if (!name)