mirror of
git://git.gnu.org.ua/wordsplit.git
synced 2025-04-26 00:29:54 +03:00
Minor improvement
* src/wordsplit.h (WRDSX_WORD, WRDSX_QUOTE): New defines. * src/wordsplit.c: Use them when initializing ws_escape.
This commit is contained in:
parent
6dba42a631
commit
cb100a7faa
2 changed files with 12 additions and 8 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue