chiark / gitweb /
Use a proper union in struct config_item.
[sgt-puzzles.git] / midend.c
index 913b322414e50f47688f9fe6aef47bb2b3a29523..1f5f0773606d4a73a16e02e863f2fb8955a432c4 100644 (file)
--- a/midend.c
+++ b/midend.c
@@ -1360,7 +1360,6 @@ config_item *midend_get_config(midend *me, int which, char **wintitle)
             ret[0].name = "Game random seed";
         else
             ret[0].name = "Game ID";
-       ret[0].ival = 0;
         /*
          * For CFG_DESC the text going in here will be a string
          * encoding of the restricted parameters, plus a colon,
@@ -1379,13 +1378,12 @@ config_item *midend_get_config(midend *me, int which, char **wintitle)
             rest = me->seedstr ? me->seedstr : "";
             sep = '#';
         }
-        ret[0].sval = snewn(strlen(parstr) + strlen(rest) + 2, char);
-        sprintf(ret[0].sval, "%s%c%s", parstr, sep, rest);
+        ret[0].u.string.sval = snewn(strlen(parstr) + strlen(rest) + 2, char);
+        sprintf(ret[0].u.string.sval, "%s%c%s", parstr, sep, rest);
         sfree(parstr);
 
        ret[1].type = C_END;
-       ret[1].name = ret[1].sval = NULL;
-       ret[1].ival = 0;
+       ret[1].name = NULL;
 
        return ret;
     }
@@ -1620,7 +1618,7 @@ char *midend_set_config(midend *me, int which, config_item *cfg)
 
       case CFG_SEED:
       case CFG_DESC:
-        error = midend_game_id_int(me, cfg[0].sval,
+        error = midend_game_id_int(me, cfg[0].u.string.sval,
                                    (which == CFG_SEED ? DEF_SEED : DEF_DESC));
        if (error)
            return error;