diff --git a/tests.json b/tests.json index 4d935061..891271ca 100644 --- a/tests.json +++ b/tests.json @@ -3274,5 +3274,49 @@ "stderr": "trurl error: --json is mutually exclusive with --get\ntrurl error: Try trurl -h for help\n", "returncode": 4 } + }, + { + "input": { + "arguments": [ + "e?e&&" + ] + }, + "expected": { + "stdout": "http://e/?e\n", + "returncode": 0 + } + }, + { + "input": { + "arguments": [ + "e?e&" + ] + }, + "expected": { + "stdout": "http://e/?e\n", + "returncode": 0 + } + }, + { + "input": { + "arguments": [ + "e?e&&&&&&&&&&&&&&&&&&&&&" + ] + }, + "expected": { + "stdout": "http://e/?e\n", + "returncode": 0 + } + }, + { + "input": { + "arguments": [ + "e?e&&&&&&&&&&a&&&&&&&&&&&" + ] + }, + "expected": { + "stdout": "http://e/?e&a\n", + "returncode": 0 + } } ] diff --git a/trurl.c b/trurl.c index a0fdc652..b5a716ca 100644 --- a/trurl.c +++ b/trurl.c @@ -1572,8 +1572,8 @@ static void qpair2query(CURLU *uh, struct option *o) for(i = 0; iqsep : "", - qpairs[i].str); + (nq && *nq && qpairs[i].len) ? o->qsep : "", + qpairs[i].len ? qpairs[i].str : ""); curl_free(oldnq); } if(nq) {