More wordsplit int cleanup
* lib/wordsplit.c: Include limits.h. (_wsplt_subsplit, wordsplit_add_segm, wsnode_quoteremoval) (wsnode_coalesce, wsnode_tail_coalesce, find_closing_paren) (expvar, begin_var_p, node_expand, begin_cmd_p, expcmd) (scan_qstring, scan_word, wordsplit_c_quoted_length) (wordsplit_string_unquote_copy, wordsplit_c_quote_copy) (exptab_matches, wordsplit_process_list): Prefer bool to int. (wordsplit_init, alloc_space, coalesce_segment) (wsnode_quoteremoval, wordsplit_finish, wordsplit_append): Use WRDSE_OK instead of 0 when the context is that of WRDSE_*. (wsnode_flagstr, coalesce_segment, wsnode_quoteremoval) (wordsplit_finish, node_split_prefix, wsplt_assign_var, expvar) (expcmd, wordsplit_tildexpand, wordsplit_pathexpand) (wsplt_unquote_char, wsplt_quote_char) (wordsplit_string_unquote_copy): Prefer '\0' to 0 when it is a char. (wsnode_insert): Omit last arg, which was always 0. All callers changed. (wordsplit_add_segm, node_split_prefix): Use unsigned, not int, for flag, for consistency. (wordsplit_finish, begin_var_p, begin_cmd_p, skip_sed_expr) (xtonum, wsplt_unquote_char, wsplt_quote_char) (wordsplit_c_unquote_char, wordsplit_c_quote_char) (wordsplit_c_quote_copy): Prefer char to int for chars. (xtonum): Don’t treat "\400" as if it were "\000".
This commit is contained in:
@@ -101,7 +101,8 @@ struct wordsplit
|
||||
idx_t ws_len; /* Length of ws_input. */
|
||||
idx_t ws_endp; /* Points past the last processed byte in
|
||||
ws_input. */
|
||||
int ws_errno; /* [Output] Error code, if an error occurred. */
|
||||
int ws_errno; /* [Output] Error code, if an error occurred.
|
||||
This is not the same as a POSIX errno value. */
|
||||
char *ws_usererr; /* Points to textual description of
|
||||
the error, if ws_errno is WRDSE_USERERR. Must
|
||||
be allocated with malloc(3). */
|
||||
@@ -230,6 +231,7 @@ struct wordsplit
|
||||
/* Test WS for escape option F for words (Q==0) or quoted strings (Q==1) */
|
||||
#define WRDSO_ESC_TEST(ws,q,f) ((ws)->ws_options & ((f) << 4*(q)))
|
||||
|
||||
/* Error codes. */
|
||||
#define WRDSE_OK 0
|
||||
#define WRDSE_EOF WRDSE_OK
|
||||
#define WRDSE_QUOTE 1
|
||||
@@ -251,10 +253,10 @@ int wordsplit_get_words (wordsplit_t *ws, idx_t *wordc, char ***wordv);
|
||||
|
||||
int wordsplit_append (wordsplit_t *wsp, int argc, char **argv);
|
||||
|
||||
int wordsplit_c_unquote_char (int c);
|
||||
int wordsplit_c_quote_char (int c);
|
||||
idx_t wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote);
|
||||
void wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex);
|
||||
char wordsplit_c_unquote_char (char c);
|
||||
char wordsplit_c_quote_char (char c);
|
||||
idx_t wordsplit_c_quoted_length (const char *str, bool quote_hex, bool *quote);
|
||||
void wordsplit_c_quote_copy (char *dst, const char *src, bool quote_hex);
|
||||
|
||||
void wordsplit_perror (wordsplit_t *ws);
|
||||
const char *wordsplit_strerror (wordsplit_t *ws);
|
||||
|
||||
Reference in New Issue
Block a user