diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/wordsplit.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/wordsplit.h b/include/wordsplit.h index a175275..d7eb26f 100644 --- a/include/wordsplit.h +++ b/include/wordsplit.h @@ -78,2 +78,12 @@ struct wordsplit + char const **ws_paramv; /* [WRDSO_PARAMV] User-supplied positional + parameters */ + size_t ws_paramc; /* Number of positional parameters */ + + /* Temporary storage for parameters. Works similarly to ws_enbuf. + */ + char **ws_parambuf; + size_t ws_paramidx; + size_t ws_paramsiz; + int (*ws_getvar) (char **ret, const char *var, size_t len, void *clos); @@ -228,2 +238,8 @@ struct wordsplit +/* Enable positional parameters */ +#define WRDSO_PARAMV 0x00004000 +/* Enable negative positional indices (${-1} is the last positional + parameter) */ +#define WRDSO_PARAM_NEGIDX 0x00008000 + #define WRDSO_BSKEEP WRDSO_BSKEEP_WORD @@ -252,2 +268,3 @@ struct wordsplit #define WRDSE_USERERR 9 +#define WRDSE_BADPARAM 10 @@ -258,2 +275,3 @@ void wordsplit_free_words (wordsplit_t *ws); void wordsplit_free_envbuf (wordsplit_t *ws); +void wordsplit_free_parambuf (struct wordsplit *ws); int wordsplit_get_words (wordsplit_t *ws, size_t *wordc, char ***wordv); |