diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2015-11-19 11:52:58 +0100 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2015-11-19 11:52:58 +0100 |
| commit | fc61d6d47984229744d51b5936dfd9994720935c (patch) | |
| tree | 7db38e658ece1c7b65e9b4e57e7b2a511076f997 | |
| parent | 1f294eb9bcf01e95a96af9ee98b2d03e829c5c37 (diff) | |
stringop: lenient_strcmp: Add.
| -rw-r--r-- | include/stringop.h | 3 | ||||
| -rw-r--r-- | sway/stringop.c | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/stringop.h b/include/stringop.h index febbbaba..bb681bcd 100644 --- a/include/stringop.h +++ b/include/stringop.h @@ -14,6 +14,9 @@ char *strip_whitespace(char *str); char *strip_comments(char *str); void strip_quotes(char *str); +// strcmp that also handles null pointers. +int lenient_strcmp(char *a, char *b); + // Simply split a string with delims, free with `free_flat_list` list_t *split_string(const char *str, const char *delims); void free_flat_list(list_t *list); diff --git a/sway/stringop.c b/sway/stringop.c index 8d6cac2f..fe5a97ca 100644 --- a/sway/stringop.c +++ b/sway/stringop.c @@ -74,6 +74,19 @@ void strip_quotes(char *str) { *end = '\0'; } +// strcmp that also handles null pointers. +int lenient_strcmp(char *a, char *b) { + if (a == b) { + return 0; + } else if (!a) { + return -1; + } else if (!b) { + return 1; + } else { + return strcmp(a, b); + } +} + list_t *split_string(const char *str, const char *delims) { list_t *res = create_list(); char *copy = strdup(str); |
