Merge git://git.infradead.org/~dwmw2/khdrs-2.6
[linux-drm-fsl-dcu.git] / scripts / kconfig / confdata.c
index 2ee48c377b66b5e3f01ba752ad1944f303e22ad9..69f96b398c22848d39d31907adb43505884a361a 100644 (file)
@@ -193,8 +193,11 @@ load:
                                continue;
                        *p++ = 0;
                        p2 = strchr(p, '\n');
-                       if (p2)
-                               *p2 = 0;
+                       if (p2) {
+                               *p2-- = 0;
+                               if (*p2 == '\r')
+                                       *p2 = 0;
+                       }
                        if (def == S_DEF_USER) {
                                sym = sym_find(line + 7);
                                if (!sym) {
@@ -266,6 +269,7 @@ load:
                                ;
                        }
                        break;
+               case '\r':
                case '\n':
                        break;
                default:
@@ -357,7 +361,7 @@ int conf_read(const char *name)
                for (e = prop->expr; e; e = e->left.expr)
                        if (e->right.sym->visible != no)
                                flags &= e->right.sym->flags;
-               sym->flags |= flags & SYMBOL_DEF_USER;
+               sym->flags &= flags | ~SYMBOL_DEF_USER;
        }
 
        sym_change_count += conf_warnings || conf_unsaved;