|
|
|
@ -1066,8 +1066,7 @@ static gboolean p_setup(GString *name, liConfigTokenizerContext *ctx, GError **e
|
|
|
|
|
|
|
|
|
|
static gboolean p_setup_block(liConfigTokenizerContext *ctx, GError **error) { |
|
|
|
|
liConfigToken token; |
|
|
|
|
GString *name; |
|
|
|
|
gboolean result; |
|
|
|
|
GString *name = NULL; |
|
|
|
|
|
|
|
|
|
NEXT(token); |
|
|
|
|
switch (token) { |
|
|
|
@ -1075,9 +1074,17 @@ static gboolean p_setup_block(liConfigTokenizerContext *ctx, GError **error) {
|
|
|
|
|
return TRUE; |
|
|
|
|
case TK_NAME: |
|
|
|
|
name = g_string_new_len(GSTR_LEN(ctx->token_string)); |
|
|
|
|
result = p_setup(name, ctx, error); |
|
|
|
|
g_string_free(name, TRUE); |
|
|
|
|
if (!result) return FALSE; |
|
|
|
|
NEXT(token); |
|
|
|
|
switch (token) { |
|
|
|
|
case TK_ASSIGN: |
|
|
|
|
if (!p_vardef(name, 0, ctx, error)) goto error; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
REMEMBER(token); |
|
|
|
|
if (!p_setup(name, ctx, error)) goto error; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
g_string_free(name, TRUE); name = NULL; |
|
|
|
|
break; |
|
|
|
|
case TK_INCLUDE: |
|
|
|
|
case TK_INCLUDE_LUA: |
|
|
|
@ -1090,6 +1097,7 @@ static gboolean p_setup_block(liConfigTokenizerContext *ctx, GError **error) {
|
|
|
|
|
return p_setup_block(ctx, error); |
|
|
|
|
|
|
|
|
|
error: |
|
|
|
|
if (NULL != name) g_string_free(name, TRUE); name = NULL; |
|
|
|
|
return FALSE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1136,7 +1144,6 @@ error:
|
|
|
|
|
static gboolean p_actions(gboolean block, liAction *list, liConfigTokenizerContext *ctx, GError **error) { |
|
|
|
|
liConfigToken token; |
|
|
|
|
GString *name = NULL; |
|
|
|
|
gboolean result; |
|
|
|
|
|
|
|
|
|
NEXT(token); |
|
|
|
|
switch (token) { |
|
|
|
@ -1147,13 +1154,11 @@ static gboolean p_actions(gboolean block, liAction *list, liConfigTokenizerConte
|
|
|
|
|
NEXT(token); |
|
|
|
|
switch (token) { |
|
|
|
|
case TK_CURLY_OPEN: |
|
|
|
|
if (!p_setup_block(ctx, error)) return FALSE; |
|
|
|
|
if (!p_setup_block(ctx, error)) goto error; |
|
|
|
|
break; |
|
|
|
|
case TK_NAME: |
|
|
|
|
name = g_string_new_len(GSTR_LEN(ctx->token_string)); |
|
|
|
|
result = p_setup(name, ctx, error); |
|
|
|
|
g_string_free(name, TRUE); name = NULL; |
|
|
|
|
if (!result) return FALSE; |
|
|
|
|
if (!p_setup(name, ctx, error)) goto error; |
|
|
|
|
break; |
|
|
|
|
case TK_INCLUDE: |
|
|
|
|
case TK_INCLUDE_LUA: |
|
|
|
|