diff options
author | Petr Rockai <prockai@redhat.com> | 2014-11-19 18:48:47 +0100 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2014-11-20 16:51:06 +0100 |
commit | 8bc996676345bdaa69e0bdaaebb490a9da5a7d4b (patch) | |
tree | aeb9e135fea053e720879de638011e0dd0363cd1 | |
parent | 274a7a68b80fdce9e9398ffbe45e788b13b04642 (diff) | |
download | lvm2-8bc996676345bdaa69e0bdaaebb490a9da5a7d4b.tar.gz |
libdm-config: Interpret barewords after '=' as strings.
-rw-r--r-- | libdm/libdm-config.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libdm/libdm-config.c b/libdm/libdm-config.c index e6b2b90d1..1bc88e15c 100644 --- a/libdm/libdm-config.c +++ b/libdm/libdm-config.c @@ -30,6 +30,7 @@ enum { TOK_FLOAT, TOK_STRING, /* Single quotes */ TOK_STRING_ESCAPED, /* Double quotes */ + TOK_STRING_BARE, /* No quotes */ TOK_EQ, TOK_SECTION_B, TOK_SECTION_E, @@ -638,6 +639,15 @@ static struct dm_config_value *_type(struct parser *p) match(TOK_STRING); break; + case TOK_STRING_BARE: + v->type = DM_CFG_STRING; + + if (!(v->v.str = _dup_tok(p))) + return_NULL; + + match(TOK_STRING_BARE); + break; + case TOK_STRING_ESCAPED: v->type = DM_CFG_STRING; @@ -783,6 +793,8 @@ static void _get_token(struct parser *p, int tok_prev) (*te != SECTION_B_CHAR) && (*te != SECTION_E_CHAR)) te++; + if (values_allowed) + p->t = TOK_STRING_BARE; break; } |