Index: qparse.c =================================================================== --- qparse.c (revision 8898) +++ qparse.c (revision 8899) @@ -19,6 +19,7 @@ #include #include +#include #include "qparse.h" typedef enum qp_state_e { @@ -108,6 +109,8 @@ case '\t': case '\n': case '\r': + if (flg & QPARSE_MULTISEP) + while(isspace(s[1])) s++; qnext(); break; default: Index: qparse.h =================================================================== --- qparse.h (revision 8898) +++ qparse.h (revision 8899) @@ -13,7 +13,8 @@ /* More advanced API with more control over the format */ typedef enum { QPARSE_DOUBLE_QUOTE = 1, - QPARSE_SINGLE_QUOTE = 2 + QPARSE_SINGLE_QUOTE = 2, + QPARSE_MULTISEP = 4 /* multiple separators are taken as a single separator */ } flags_t; int qparse2(const char *input, char **argv_ret[], flags_t flg);