--------------Boundary-00=_WAV56TKDFF95VQJSD9JN Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Saturday 13 October 2001 21:09, Carsten Pfeiffer wrote: > On Samstag, 13. Oktober 2001 20:28 Frerich Raabe wrote: > > Hi, > > > > I attached a patch for kurl.* which adds a method 'queryValue()', making > > it possible to do stuff like > > > > KURL u = "http://www.foo.bar/yoyodyne.php?q1=a&q2=b"; > > cout << u.queryItem("q1") << endl; // prints 'a' > > If you have ?foobar=1?foo=2 > then queryItem("foo") will return 1 instead of 2. And ?foo= should return > "" instead of QString::null, I think. Agreed. I merged your patch with my current version which renames queryValue() to queryItem() (since we're not returning the value of the query but rather the value of one of the query's items), saved a few calls to _item.length() and item.length() and made it a const method. I also adjusted kurltest to cover the issues you pointed out. How about this one? - Frerich --------------Boundary-00=_WAV56TKDFF95VQJSD9JN Content-Type: text/x-diff; charset="iso-8859-1"; name="kurl.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kurl.diff" SW5kZXg6IGt1cmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tk ZWNvcmUva3VybC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTgzCmRpZmYgLXUgLTMgLXAg LXIxLjE4MyBrdXJsLmNwcAotLS0ga3VybC5jcHAJMjAwMS8xMC8xMyAwNDoxOTowNQkxLjE4Mwor Kysga3VybC5jcHAJMjAwMS8xMC8xMyAyMDoxOTowMgpAQCAtMTY2MCwzICsxNjYwLDMwIEBAIGJv b2wgdXJsY21wKCBjb25zdCBRU3RyaW5nJiBfdXJsMSwgY29uc3QKIAogICByZXR1cm4gdHJ1ZTsK IH0KKworUVN0cmluZyBLVVJMOjpxdWVyeUl0ZW0oIGNvbnN0IFFTdHJpbmcmIF9pdGVtICkgY29u c3QKK3sKKyAgaWYgKCBtX3N0clF1ZXJ5X2VuY29kZWQubGVuZ3RoKCkgPD0gMSApCisgICAgcmV0 dXJuIFFTdHJpbmc6Om51bGw7CisKKyAgUVN0cmluZ0xpc3QgaXRlbXMgPSBRU3RyaW5nTGlzdDo6 c3BsaXQoICcmJywgbV9zdHJRdWVyeV9lbmNvZGVkICk7CisgIGludCBfbGVuID0gX2l0ZW0ubGVu Z3RoKCk7CisgIFFTdHJpbmcgaXRlbTsKKyAgZm9yICggUVN0cmluZ0xpc3Q6OkNvbnN0SXRlcmF0 b3IgaXQgPSBpdGVtcy5iZWdpbigpOyBpdCAhPSBpdGVtcy5lbmQoKTsgKytpdCApCisgIHsKKyAg ICBpdGVtID0gKCppdCk7CisgICAgaWYgKCBpdGVtLnN0YXJ0c1dpdGgoIF9pdGVtICkgKSAKKyAg ICB7CisgICAgICBpbnQgbGVuID0gaXRlbS5sZW5ndGgoKTsKKyAgICAgIGlmICggbGVuID4gX2xl biAmJiBpdGVtLmF0KCBfbGVuICkgPT0gJz0nICkKKyAgICAgIHsKKyAgICAgICAgaWYgKCBsZW4g PiArK19sZW4gKQorICAgICAgICAgIHJldHVybiBpdGVtLm1pZCggX2xlbiApOworICAgICAgICBl bHNlIC8vIGVtcHR5IHZhbHVlCisgICAgICAgICAgcmV0dXJuIFFTdHJpbmc6OmZyb21MYXRpbjEo IiIpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBRU3RyaW5nOjpudWxsOworfQo= --------------Boundary-00=_WAV56TKDFF95VQJSD9JN Content-Type: text/x-diff; charset="iso-8859-1"; name="kurltest.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kurltest.diff" SW5kZXg6IGt1cmx0ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGli cy9rZGVjb3JlL3Rlc3RzL2t1cmx0ZXN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40Ngpk aWZmIC11IC0zIC1wIC1yMS40NiBrdXJsdGVzdC5jcHAKLS0tIGt1cmx0ZXN0LmNwcAkyMDAxLzEw LzExIDExOjA3OjU3CTEuNDYKKysrIGt1cmx0ZXN0LmNwcAkyMDAxLzEwLzEzIDIwOjE5OjIzCkBA IC00NDEsNiArNDQxLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgIGNo ZWNrKCJzZXRFbmNvZGVkUGF0aEFuZFF1ZXJ5IHRlc3QjMSIsIHRvYmkxLnF1ZXJ5KCksICI/YW5v dGhlciZxdWVyeSIpOwogICBjaGVjaygic2V0RW5jb2RlZFBhdGhBbmRRdWVyeSB0ZXN0IzIiLCB0 b2JpMS5wYXRoKCksICJhbm90aGVyL3BhdGgiKTsKIAorICBLVVJMIHRoZUtvdyA9ICJodHRwOi8v d3d3Lmdvb2dsZS5kZS9zZWFyY2g/cT1mcmVyaWNoJmhseD14eCZobD1kZSZlbXB0eT0mbHI9bGFu Z19kZSI7CisgIGNoZWNrKCJxdWVyeUl0ZW0gKGZpcnN0IGl0ZW0pIiwgdGhlS293LnF1ZXJ5SXRl bSgicSIpLCAiZnJlcmljaCIpOworICBjaGVjaygicXVlcnlJdGVtIChtaWRkbGUgaXRlbSkiLCB0 aGVLb3cucXVlcnlJdGVtKCJobCIpLCAiZGUiKTsKKyAgY2hlY2soInF1ZXJ5SXRlbSAobGFzdCBp dGVtKSIsIHRoZUtvdy5xdWVyeUl0ZW0oImxyIiksICJsYW5nX2RlIik7CisgIGNoZWNrKCJxdWVy eUl0ZW0gKGludmFsaWQgaXRlbSkiLCB0aGVLb3cucXVlcnlJdGVtKCJJbnRlcnN0ZWxsYXJDb3Vu c2Vsb3IiKSwgUVN0cmluZzo6bnVsbCk7CisgIGNoZWNrKCJxdWVyeUl0ZW0gKGVtcHR5IGl0ZW0p IiwgdGhlS293LnF1ZXJ5SXRlbSgiZW1wdHkiKSwgIiIpOworCiAgIHByaW50ZigiXG5UZXN0IE9L ICFcbiIpOwogfQogCg== --------------Boundary-00=_WAV56TKDFF95VQJSD9JN--