Make sure to save the registry files even if we failed to load them.
diff --git a/server/registry.c b/server/registry.c
index 115494a..7796e59 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -1416,13 +1416,15 @@
{
FILE *f;
- if (!(f = fopen( filename, "r" ))) return;
- load_keys( key, f, 0 );
- fclose( f );
- if (get_error() == STATUS_NOT_REGISTRY_FILE)
- fatal_error( "%s is not a valid registry file\n", filename );
- if (get_error())
- fatal_error( "loading %s failed with error %x\n", filename, get_error() );
+ if ((f = fopen( filename, "r" )))
+ {
+ load_keys( key, f, 0 );
+ fclose( f );
+ if (get_error() == STATUS_NOT_REGISTRY_FILE)
+ fatal_error( "%s is not a valid registry file\n", filename );
+ if (get_error())
+ fatal_error( "loading %s failed with error %x\n", filename, get_error() );
+ }
if (!(key->flags & KEY_VOLATILE))
{