| 6891 | } |
| 6892 | |
| 6893 | static char *strndup_quote(const char *str, char q, int len) |
| 6894 | { |
| 6895 | if (str == NULL) |
| 6896 | return NULL; |
| 6897 | |
| 6898 | char * res; |
| 6899 | int str_len = strlen( str ); |
| 6900 | int src = 0, dst = 0; |
| 6901 | res = malloc( len > str_len ? str_len + 1 : len + 1 ); |
| 6902 | if ( res == NULL ) return res; |
| 6903 | |
| 6904 | while (str[src] != 0 && src < len) |
| 6905 | { |
| 6906 | if (str[src] == q) |
| 6907 | src++; |
| 6908 | else |
| 6909 | res[dst++] = str[src++]; |
| 6910 | } |
| 6911 | res[dst] = '\0'; |
| 6912 | return res; |
| 6913 | } |
| 6914 | |
| 6915 | char** hb_str_vsplit( const char *str, char delem ) |
| 6916 | { |