On 02/29/2016 10:45 PM, Moritz Neeb wrote: > On 02/29/2016 08:01 PM, Junio C Hamano wrote: >> Moritz Neeb <lists@xxxxxxxxxxxxx> writes: >> >>> Because sq_quote_argv adds a leading space (which is expected in trace.c), >>> sq_dequote_step should remove this space again, such that the operations >>> of quoting and dequoting are inverse of each other. >>> >>> This patch is preparing the way to remove some excessive trimming >>> operation in bisect in the following commit. >>> >>> Signed-off-by: Moritz Neeb <lists@xxxxxxxxxxxxx> >>> --- >>> quote.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/quote.c b/quote.c >>> index fe884d2..2714f27 100644 >>> --- a/quote.c >>> +++ b/quote.c >>> @@ -63,6 +63,8 @@ static char *sq_dequote_step(char *arg, char **next) >>> char *src = arg; >>> char c; >>> >>> + if (*src == ' ') >>> + src++; >>> if (*src != '\'') >>> return NULL; >>> for (;;) { >> >> If we look at this "for (;;)" loop, we notice that (1) it accepts as >> many spaces as there are between two quoted strings, and (2) it does >> not limit it to SP but uses isspace(). >> >> I wonder if you would instead want >> >> while (isspace(*src)) >> src++; >> >> to be consistent? >> > > My intention was to explicitly remove the space added by > strbuf_addch(dst, ' ') in sq_quote_argv(). > > I think it would not make sense to remove more spaces, because for > for sq_dequote() it is defined: > > This unwraps what sq_quote() produces in place, but returns > NULL if the input does not look like what sq_quote would have > produced. > > I understand that this counts also for the sq_dequote_array*() family. s/array/to_argv/ > > Thanks > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html