Fix empdump to open views, too
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 1 May 2011 12:09:35 +0000 (14:09 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 25 Jun 2011 14:50:06 +0000 (16:50 +0200)
ef_verify() assumes views are open.  Bug is harmless, because
ef_nelem() returns zero for closed views, and ef_verify() accesses
only immutable parts of struct empfile then.

src/util/empdump.c

index 2651f917e76703ace31c2a190f43646b26842c82..3fcd4c7f5bb21dd9ed042b6ce007775ee5185aa9 100644 (file)
@@ -131,10 +131,13 @@ main(int argc, char *argv[])
     global_init();
 
     for (i = 0; i < EF_MAX; i++) {
-       if (!EF_IS_GAME_STATE(i))
-           continue;
-       if (!ef_open(i, EFF_MEM | private, -1))
-           exit(1);
+       if (EF_IS_GAME_STATE(i)) {
+           if (!ef_open(i, EFF_MEM | private, -1))
+               exit(1);
+       } else if (EF_IS_VIEW(i)) {
+           if (ef_open_view(i) < 0)
+               exit(1);
+       }
     }
 
     /* import from IMPORT */