diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2015-10-28 07:45:17 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2015-10-28 07:45:17 +0200 |
commit | 09b569b0137960070cb9923b70dfeec47a804079 (patch) | |
tree | a8efc157255ab992262ecb8b4336d8df6e2016bc | |
parent | 20616b88947774b196d17675a9304fc6a18fad65 (diff) | |
download | grecs-09b569b0137960070cb9923b70dfeec47a804079.tar.gz grecs-09b569b0137960070cb9923b70dfeec47a804079.tar.bz2 |
Minor improvement in wordsplit.
* src/wordsplit.h (WRDSX_WORD, WRDSX_QUOTE): New defines.
* src/wordsplit.c: Use them when initializing ws_escape.
-rw-r--r-- | src/wordsplit.c | 16 | ||||
-rw-r--r-- | src/wordsplit.h | 4 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/wordsplit.c b/src/wordsplit.c index 355373e..86d4f4b 100644 --- a/src/wordsplit.c +++ b/src/wordsplit.c @@ -239,24 +239,24 @@ wordsplit_init (struct wordsplit *wsp, const char *input, size_t len, if (wsp->ws_flags & WRDSF_ESCAPE) { - if (!wsp->ws_escape[0]) - wsp->ws_escape[0] = ""; - if (!wsp->ws_escape[1]) - wsp->ws_escape[1] = ""; + if (!wsp->ws_escape[WRDSX_WORD]) + wsp->ws_escape[WRDSX_WORD] = ""; + if (!wsp->ws_escape[WRDSX_QUOTE]) + wsp->ws_escape[WRDSX_QUOTE] = ""; } else { if (wsp->ws_flags & WRDSF_CESCAPES) { - wsp->ws_escape[0] = wordsplit_c_escape_tab; - wsp->ws_escape[1] = wordsplit_c_escape_tab; + wsp->ws_escape[WRDSX_WORD] = wordsplit_c_escape_tab; + wsp->ws_escape[WRDSX_QUOTE] = wordsplit_c_escape_tab; wsp->ws_options |= WRDSO_OESC_QUOTE | WRDSO_OESC_WORD | WRDSO_XESC_QUOTE | WRDSO_XESC_WORD; } else { - wsp->ws_escape[0] = ""; - wsp->ws_escape[1] = "\\\\\"\""; + wsp->ws_escape[WRDSX_WORD] = ""; + wsp->ws_escape[WRDSX_QUOTE] = "\\\\\"\""; wsp->ws_options |= WRDSO_BSKEEP_QUOTE; } } diff --git a/src/wordsplit.h b/src/wordsplit.h index e7df8bb..53503a4 100644 --- a/src/wordsplit.h +++ b/src/wordsplit.h @@ -209,6 +209,10 @@ struct wordsplit #define WRDSO_OESC WRDSO_OESC_WORD #define WRDSO_XESC WRDSO_XESC_WORD +/* Indices into ws_escape */ +#define WRDSX_WORD 0 +#define WRDSX_QUOTE 1 + /* Set escape option F in WS for words (Q==0) or quoted strings (Q==1) */ #define WRDSO_ESC_SET(ws,q,f) ((ws)->ws_options |= ((f) << 4*(q))) /* Test WS for escape option F for words (Q==0) or quoted strings (Q==1) */ |