From kde-core-devel Sat Oct 13 18:28:21 2001 From: Frerich Raabe Date: Sat, 13 Oct 2001 18:28:21 +0000 To: kde-core-devel Subject: KURL Patch X-MARC-Message: https://marc.info/?l=kde-core-devel&m=100299759026595 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------Boundary-00=_9ZP5KD6ZX55IZSXXRBQK" --------------Boundary-00=_9ZP5KD6ZX55IZSXXRBQK Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit 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' I found that very convenient and, after having implemented that functionality in a few other places, thought it would be a good idea to add this to KURL itself. I would have committed right away, but I guess it can't hurt to have patches for such fundamental classes reviewed ;-) Perhaps a cache for the query values would be worth a thought but I guess we'd first look how (often) that method will be used before considering the costs of a cache. - Frerich --------------Boundary-00=_9ZP5KD6ZX55IZSXXRBQK Content-Type: text/x-diff; charset="iso-8859-1"; name="kurl.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kurl.diff" SW5kZXg6IGt1cmwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9rZGVj b3JlL2t1cmwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44MwpkaWZmIC11IC0zIC1wIC1yMS44 MyBrdXJsLmgKLS0tIGt1cmwuaAkyMDAxLzEwLzEzIDA0OjE5OjA1CTEuODMKKysrIGt1cmwuaAky MDAxLzEwLzEzIDE4OjExOjQwCkBAIC0zNDksNiArMzQ5LDE2IEBAIHB1YmxpYzoKICAgdm9pZCBh ZGRQYXRoKCBjb25zdCBRU3RyaW5nJiBfdHh0ICk7CiAKICAgLyoqCisgICAqIFJldHVybnMgdGhl IHZhbHVlIG9mIGEgY2VydGFpbiBxdWVyeSBpdGVtLgorICAgKgorICAgKiBAcGFyYW0gX2l0ZW0g SXRlbSB3aG9zZSB2YWx1ZSB3ZSB3YW50CisgICAqCisgICAqIEByZXR1cm4gdGhlIHZhbHVlIG9m IHRoZSBnaXZlbiBxdWVyeSBpdGVtIG5hbWUgb3IgUVN0cmluZzo6bnVsbCBpZiB0aGUKKyAgICog c3BlY2lmaWVkIGl0ZW0gZG9lcyBub3QgZXhpc3QuCisgICAqLworICBRU3RyaW5nIHF1ZXJ5VmFs dWUoIGNvbnN0IFFTdHJpbmcmIF9pdGVtICkgY29uc3Q7CisKKyAgLyoqCiAgICAqIEluIGNvbXBh cmlzb24gdG8gQHJlZiBhZGRQYXRoKCkgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBhc3N1bWUgdGhh dCB0aGUgY3VycmVudCBwYXRoCiAgICAqIGlzIGEgZGlyZWN0b3J5LiBUaGlzIGlzIG9ubHkgYXNz dW1lZCBpZiB0aGUgY3VycmVudCBwYXRoIGVuZHMgd2l0aCAnLycuCiAgICAqCkluZGV4OiBrdXJs LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9rZGVjb3JlL2t1cmwu Y3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE4MwpkaWZmIC11IC0zIC1wIC1yMS4xODMga3Vy bC5jcHAKLS0tIGt1cmwuY3BwCTIwMDEvMTAvMTMgMDQ6MTk6MDUJMS4xODMKKysrIGt1cmwuY3Bw CTIwMDEvMTAvMTMgMTg6MTE6NDAKQEAgLTE2NjAsMyArMTY2MCwyMSBAQCBib29sIHVybGNtcCgg Y29uc3QgUVN0cmluZyYgX3VybDEsIGNvbnN0CiAKICAgcmV0dXJuIHRydWU7CiB9CisKK1FTdHJp bmcgS1VSTDo6cXVlcnlWYWx1ZSggY29uc3QgUVN0cmluZyYgX2l0ZW0gKSBjb25zdAoreworICBp ZiAoIG1fc3RyUXVlcnlfZW5jb2RlZC5pc0VtcHR5KCkgfHwKKyAgICAgICBtX3N0clF1ZXJ5X2Vu Y29kZWQgPT0gUVN0cmluZzo6ZnJvbUxhdGluMSgiPyIpICkKKyAgICByZXR1cm4gUVN0cmluZzo6 bnVsbDsKKyAgCisgIFFTdHJpbmdMaXN0IGl0ZW1zID0gUVN0cmluZ0xpc3Q6OnNwbGl0KCBRU3Ry aW5nOjpmcm9tTGF0aW4xKCImIiksIG1fc3RyUXVlcnlfZW5jb2RlZCApOworICBRU3RyaW5nIGl0 ZW07CisgIGZvciAoIFFTdHJpbmdMaXN0OjpJdGVyYXRvciBpdCA9IGl0ZW1zLmJlZ2luKCk7IGl0 ICE9IGl0ZW1zLmVuZCgpOyArK2l0ICkKKyAgeworICAgIGl0ZW0gPSAoKml0KTsKKyAgICBpZiAo IGl0ZW0uc3RhcnRzV2l0aCggX2l0ZW0gKSApCisgICAgIHJldHVybiBpdGVtLnJpZ2h0KCBpdGVt Lmxlbmd0aCgpIC0gaXRlbS5maW5kKCBRU3RyaW5nOjpmcm9tTGF0aW4xKCI9IikgKSAtIDEpOwor ICB9CisKKyAgcmV0dXJuIFFTdHJpbmc6Om51bGw7Cit9Cg== --------------Boundary-00=_9ZP5KD6ZX55IZSXXRBQK 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 LzExIDExOjA3OjU3CTEuNDYKKysrIGt1cmx0ZXN0LmNwcAkyMDAxLzEwLzEzIDE4OjExOjI1CkBA IC00NDEsNiArNDQxLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgIGNo ZWNrKCJzZXRFbmNvZGVkUGF0aEFuZFF1ZXJ5IHRlc3QjMSIsIHRvYmkxLnF1ZXJ5KCksICI/YW5v dGhlciZxdWVyeSIpOwogICBjaGVjaygic2V0RW5jb2RlZFBhdGhBbmRRdWVyeSB0ZXN0IzIiLCB0 b2JpMS5wYXRoKCksICJhbm90aGVyL3BhdGgiKTsKIAorICBLVVJMIHRoZUtvdyA9ICJodHRwOi8v d3d3Lmdvb2dsZS5kZS9zZWFyY2g/cT1mcmVyaWNoJmhsPWRlJmxyPWxhbmdfZGUiOworICBjaGVj aygicXVlcnlWYWx1ZSAoZmlyc3QgaXRlbSkiLCB0aGVLb3cucXVlcnlWYWx1ZSgicSIpLCAiZnJl cmljaCIpOworICBjaGVjaygicXVlcnlWYWx1ZSAobWlkZGxlIGl0ZW0pIiwgdGhlS293LnF1ZXJ5 VmFsdWUoImhsIiksICJkZSIpOworICBjaGVjaygicXVlcnlWYWx1ZSAobGFzdCBpdGVtKSIsIHRo ZUtvdy5xdWVyeVZhbHVlKCJsciIpLCAibGFuZ19kZSIpOworICBjaGVjaygicXVlcnlWYWx1ZSAo aW52YWxpZCBpdGVtKSIsIHRoZUtvdy5xdWVyeVZhbHVlKCJJbnRlcnN0ZWxsYXJDb3Vuc2Vsb3Ii KSwgUVN0cmluZzo6bnVsbCk7CisKICAgcHJpbnRmKCJcblRlc3QgT0sgIVxuIik7CiB9CiAK --------------Boundary-00=_9ZP5KD6ZX55IZSXXRBQK--