From 2420deecb37e962b1842503ca36d2b9df8358f90 Mon Sep 17 00:00:00 2001 From: Marrub Date: Sat, 22 Oct 2016 14:48:42 -0400 Subject: [PATCH] Manifest: Fix boolean value loading --- lithos_c/src/manifest.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lithos_c/src/manifest.c b/lithos_c/src/manifest.c index 3bb629e..b07b73e 100644 --- a/lithos_c/src/manifest.c +++ b/lithos_c/src/manifest.c @@ -27,16 +27,13 @@ \ size_t iter##name = 0 -#define GenSpecCase(name, var, i, expr) \ +#define GenRsrcCase(name, var, i) \ case Lth_ResourceType_##name: \ rsrc->vec##name.data[iter##name] = iter->var; \ rsrc->map.elem.data[i ].keyhash = iter->keyhash; \ - rsrc->map.elem.data[i++].value = expr; \ + rsrc->map.elem.data[i++].value = &rsrc->vec##name.data[iter##name++]; \ break -#define GenRsrcCase(name, var, i) \ - GenSpecCase(name, var, i, &rsrc->vec##name.data[iter##name++]) - #define GenManifestValue(name, value, setexpr) \ (Lth_Manifest){ \ .type = Lth_ResourceType_##name, \ @@ -185,6 +182,9 @@ static void ManifestGetInitializer(ManifestState *repr, size_t key) __with(char const *str = Lth_TokenStreamBump(repr->stream)->str;) if(strcmp(str, "true") == 0) GenValueGetter(Integ, integ, 1); else if(strcmp(str, "false") == 0) GenValueGetter(Integ, integ, 0); + else goto unexpect; + break; + unexpect: default: ManifestError(repr, "expected initializer"); break;