diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/commands.h | 16 | ||||
-rw-r--r-- | include/stringop.h | 8 |
2 files changed, 16 insertions, 8 deletions
diff --git a/include/commands.h b/include/commands.h index 5c87be51..1b4cd9ca 100644 --- a/include/commands.h +++ b/include/commands.h @@ -3,13 +3,15 @@ #include <stdbool.h> #include "config.h" -struct cmd_handler { - char *command; - enum cmd_status { - CMD_SUCCESS, - CMD_FAILURE, - CMD_DEFER, - } (*handle)(int argc, char **argv); + +enum cmd_status { + CMD_SUCCESS, + CMD_FAILURE, + CMD_INVALID, + CMD_DEFER, + // Config Blocks + CMD_BLOCK_END, + CMD_BLOCK_MODE, }; enum cmd_status handle_command(char *command); diff --git a/include/stringop.h b/include/stringop.h index f9f3130c..49bfa771 100644 --- a/include/stringop.h +++ b/include/stringop.h @@ -8,10 +8,11 @@ extern int setenv(const char *, const char *, int); #endif // array of whitespace characters to use for delims -extern const char *whitespace; +extern const char whitespace[]; char *strip_whitespace(char *str); char *strip_comments(char *str); +void strip_quotes(char *str); // Simply split a string with delims, free with `free_flat_list` list_t *split_string(const char *str, const char *delims); @@ -27,5 +28,10 @@ int unescape_string(char *string); char *join_args(char **argv, int argc); char *join_list(list_t *list, char *separator); +// split string into 2 by delim. +char *cmdsep(char **stringp, const char *delim); +// Split string into 2 by delim, handle quotes +char *argsep(char **stringp, const char *delim); + char *strdup(const char *); #endif |