On Mon, Sep 24, 2012 at 05:26:53AM -0400, Paolo Bonzini wrote:
> > +    qp = query_params_parse(unescape_str);
> 
> query_params_parse already does the unescaping.

Hmm it failed to parse the options properly when I had an escape sequence,
hence resorted to unescaping the query string manually.

Look at the below gdb debug steps of your uri.c...

2302        test("gluster+unix:///b?c=d%26e=f");
(gdb) s
test (x=0x4062c4 "gluster+unix:///b?c=d%26e=f") at uri.c:2279
2279        URI *uri = uri_parse(x);
(gdb) n
2283        if (!uri) {
(gdb) p *uri
$1 = {scheme = 0x607070 "gluster+unix", opaque = 0x0, authority = 0x0, 
  server = 0x0, user = 0x0, port = 0, path = 0x607090 "/b", fragment = 0x0, 
  cleanup = 0, query = 0x6070b0 "c=d%26e=f"}
(gdb) n
2289        qp = query_params_parse(uri->query);
(gdb) p *qp
$2 = {n = 1, alloc = 1, p = 0x6070f0}

You can see that qp->n is still 1, but 2 was expected.

Regards,
Bharata.


Reply via email to