Date: Mon, 7 Jul 2008 16:20:06 GMT From: pfgshield-freebsd@yahoo.com To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/125348: lang/nawk: support multibyte charsets in tolower/toupper functions Message-ID: <200807071620.m67GK6kD096537@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/125348; it has been noted by GNATS. From: pfgshield-freebsd@yahoo.com To: FreeBSD-gnats-submit@FreeBSD.org Cc: Subject: Re: ports/125348: lang/nawk: support multibyte charsets in tolower/toupper functions Date: Mon, 7 Jul 2008 09:16:20 -0700 (PDT) --0-562972999-1215447380=:72738 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable The upstream maintainer doesn't want to add extensions or support multibyte= chars. I think FreeBSD might want to adopt them but for the time being it's better= to just try to get some patches harmonized among all the BSDs and the main= tainer. Let's just add this minimalistic patch (mostly from OpenBSD): - replace sprintf with snprintf - use calloc() to avoid malloc(n * m) overflows - NetBSD PR 36831: In setfval(), ensure that arithmetic never yields a nega= tive zero result. =0A=0A=0A Posta, news, sport, oroscopo: tutto in una sola pagina. =0AC= rea l'home page che piace a te!=0Awww.yahoo.it/latuapagina --0-562972999-1215447380=:72738 Content-Type: application/octet-stream; name=patch-nawk Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=patch-nawk ZGlmZiAtcnVOIG5hd2sub3JpZy9maWxlcy9wYXRjaC1iLmMgbmF3ay9maWxl cy9wYXRjaC1iLmMKLS0tIG5hd2sub3JpZy9maWxlcy9wYXRjaC1iLmMJMTk2 OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIG5hd2svZmls ZXMvcGF0Y2gtYi5jCTIwMDgtMDctMDcgMDg6NTc6MDMuMDAwMDAwMDAwIC0w NTAwCkBAIC0wLDAgKzEsNjcgQEAKKy0tLSBiLmMub3JpZwkyMDA3LTAzLTMx IDE1OjU2OjE4LjAwMDAwMDAwMCAtMDUwMAorKysrIGIuYwkyMDA4LTA3LTA3 IDA4OjQ0OjUwLjAwMDAwMDAwMCAtMDUwMAorQEAgLTg0LDggKzg0LDggQEAK KyAKKyAJaWYgKHNldHZlYyA9PSAwKSB7CS8qIGZpcnN0IHRpbWUgdGhyb3Vn aCBhbnkgUkUgKi8KKyAJCW1heHNldHZlYyA9IE1BWExJTjsKKy0JCXNldHZl YyA9IChpbnQgKikgbWFsbG9jKG1heHNldHZlYyAqIHNpemVvZihpbnQpKTsK Ky0JCXRtcHNldCA9IChpbnQgKikgbWFsbG9jKG1heHNldHZlYyAqIHNpemVv ZihpbnQpKTsKKysJCXNldHZlYyA9IChpbnQgKikgY2FsbG9jKG1heHNldHZl Yywgc2l6ZW9mKGludCkpOworKwkJdG1wc2V0ID0gKGludCAqKSBjYWxsb2Mo bWF4c2V0dmVjLCBzaXplb2YoaW50KSk7CisgCQlpZiAoc2V0dmVjID09IDAg fHwgdG1wc2V0ID09IDApCisgCQkJb3ZlcmZsbygib3V0IG9mIHNwYWNlIGlu aXRpYWxpemluZyBtYWtlZGZhIik7CisgCX0KK0BAIC0xMzcsNyArMTM3LDcg QEAKKyAJZi0+YWNjZXB0ID0gcG9zY250LTE7CS8qIHBlbnRlciBoYXMgY29t cHV0ZWQgbnVtYmVyIG9mIHBvc2l0aW9ucyBpbiByZSAqLworIAljZm9sbChm LCBwMSk7CS8qIHNldCB1cCBmb2xsb3cgc2V0cyAqLworIAlmcmVldHIocDEp OworLQlpZiAoKGYtPnBvc25zWzBdID0gKGludCAqKSBjYWxsb2MoMSwgKihm LT5yZVswXS5sZm9sbG93KSpzaXplb2YoaW50KSkpID09IE5VTEwpCisrCWlm ICgoZi0+cG9zbnNbMF0gPSAoaW50ICopIGNhbGxvYygqKGYtPnJlWzBdLmxm b2xsb3cpLCBzaXplb2YoaW50KSkpID09IE5VTEwpCisgCQkJb3ZlcmZsbygi b3V0IG9mIHNwYWNlIGluIG1ha2VkZmEiKTsKKyAJaWYgKChmLT5wb3Nuc1sx XSA9IChpbnQgKikgY2FsbG9jKDEsIHNpemVvZihpbnQpKSkgPT0gTlVMTCkK KyAJCW92ZXJmbG8oIm91dCBvZiBzcGFjZSBpbiBtYWtlZGZhIik7CitAQCAt MTU3LDcgKzE1Nyw3IEBACisgCWYtPnJlc2V0ID0gMDsKKyAJayA9ICooZi0+ cmVbMF0ubGZvbGxvdyk7CisgCXhmcmVlKGYtPnBvc25zWzJdKTsJCQkKKy0J aWYgKChmLT5wb3Nuc1syXSA9IChpbnQgKikgY2FsbG9jKDEsIChrKzEpKnNp emVvZihpbnQpKSkgPT0gTlVMTCkKKysJaWYgKChmLT5wb3Nuc1syXSA9IChp bnQgKikgY2FsbG9jKGsrMSwgc2l6ZW9mKGludCkpKSA9PSBOVUxMKQorIAkJ b3ZlcmZsbygib3V0IG9mIHNwYWNlIGluIG1ha2Vpbml0Iik7CisgCWZvciAo aT0wOyBpIDw9IGs7IGkrKykgeworIAkJKGYtPnBvc25zWzJdKVtpXSA9IChm LT5yZVswXS5sZm9sbG93KVtpXTsKK0BAIC0zNTcsNyArMzU3LDcgQEAKKyAJ CQlzZXR2ZWNbaV0gPSAwOworIAkJc2V0Y250ID0gMDsKKyAJCWZvbGxvdyh2 KTsJLyogY29tcHV0ZXMgc2V0dmVjIGFuZCBzZXRjbnQgKi8KKy0JCWlmICgo cCA9IChpbnQgKikgY2FsbG9jKDEsIChzZXRjbnQrMSkqc2l6ZW9mKGludCkp KSA9PSBOVUxMKQorKwkJaWYgKChwID0gKGludCAqKSBjYWxsb2Moc2V0Y250 KzEsIHNpemVvZihpbnQpKSkgPT0gTlVMTCkKKyAJCQlvdmVyZmxvKCJvdXQg b2Ygc3BhY2UgYnVpbGRpbmcgZm9sbG93IHNldCIpOworIAkJZi0+cmVbaW5m byh2KV0ubGZvbGxvdyA9IHA7CisgCQkqcCA9IHNldGNudDsKK0BAIC01MzEs NyArNTMxLDcgQEAKKyAJCQlmb3IgKGkgPSAyOyBpIDw9IGYtPmN1cnN0YXQ7 IGkrKykKKyAJCQkJeGZyZWUoZi0+cG9zbnNbaV0pOworIAkJCWsgPSAqZi0+ cG9zbnNbMF07CQkJCistCQkJaWYgKChmLT5wb3Nuc1syXSA9IChpbnQgKikg Y2FsbG9jKDEsIChrKzEpKnNpemVvZihpbnQpKSkgPT0gTlVMTCkKKysJCQlp ZiAoKGYtPnBvc25zWzJdID0gKGludCAqKSBjYWxsb2MoaysxLCBzaXplb2Yo aW50KSkpID09IE5VTEwpCisgCQkJCW92ZXJmbG8oIm91dCBvZiBzcGFjZSBp biBwbWF0Y2giKTsKKyAJCQlmb3IgKGkgPSAwOyBpIDw9IGs7IGkrKykKKyAJ CQkJKGYtPnBvc25zWzJdKVtpXSA9IChmLT5wb3Nuc1swXSlbaV07CitAQCAt NTg4LDcgKzU4OCw3IEBACisgCQkJZm9yIChpID0gMjsgaSA8PSBmLT5jdXJz dGF0OyBpKyspCisgCQkJCXhmcmVlKGYtPnBvc25zW2ldKTsKKyAJCQlrID0g KmYtPnBvc25zWzBdOwkJCQorLQkJCWlmICgoZi0+cG9zbnNbMl0gPSAoaW50 ICopIGNhbGxvYygxLCAoaysxKSpzaXplb2YoaW50KSkpID09IE5VTEwpCisr CQkJaWYgKChmLT5wb3Nuc1syXSA9IChpbnQgKikgY2FsbG9jKGsrMSwgc2l6 ZW9mKGludCkpKSA9PSBOVUxMKQorIAkJCQlvdmVyZmxvKCJvdXQgb2Ygc3Rh dGUgc3BhY2UiKTsKKyAJCQlmb3IgKGkgPSAwOyBpIDw9IGs7IGkrKykKKyAJ CQkJKGYtPnBvc25zWzJdKVtpXSA9IChmLT5wb3Nuc1swXSlbaV07CitAQCAt OTIwLDcgKzkyMCw3IEBACisgCWZvciAoaSA9IDA7IGkgPCBOQ0hBUlM7IGkr KykKKyAJCWYtPmdvdG90YWJbZi0+Y3Vyc3RhdF1baV0gPSAwOworIAl4ZnJl ZShmLT5wb3Nuc1tmLT5jdXJzdGF0XSk7CistCWlmICgocCA9IChpbnQgKikg Y2FsbG9jKDEsIChzZXRjbnQrMSkqc2l6ZW9mKGludCkpKSA9PSBOVUxMKQor KwlpZiAoKHAgPSAoaW50ICopIGNhbGxvYyhzZXRjbnQrMSwgc2l6ZW9mKGlu dCkpKSA9PSBOVUxMKQorIAkJb3ZlcmZsbygib3V0IG9mIHNwYWNlIGluIGNn b3RvIik7CisgCisgCWYtPnBvc25zW2YtPmN1cnN0YXRdID0gcDsKZGlmZiAt cnVOIG5hd2sub3JpZy9maWxlcy9wYXRjaC1saWIuYyBuYXdrL2ZpbGVzL3Bh dGNoLWxpYi5jCi0tLSBuYXdrLm9yaWcvZmlsZXMvcGF0Y2gtbGliLmMJMTk2 OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIG5hd2svZmls ZXMvcGF0Y2gtbGliLmMJMjAwOC0wNy0wNyAwOTo0MDowMi4wMDAwMDAwMDAg LTA1MDAKQEAgLTAsMCArMSwyOSBAQAorLS0tIGxpYi5jLm9yaWcJMjAwNy0x MC0yMiAxODoxNzo1Mi4wMDAwMDAwMDAgLTA1MDAKKysrKyBsaWIuYwkyMDA4 LTA3LTA3IDA5OjM4OjU4LjAwMDAwMDAwMCAtMDUwMAorQEAgLTU5LDcgKzU5 LDcgQEAKKyB7CisgCWlmICggKHJlY29yZCA9IChjaGFyICopIG1hbGxvYyhu KSkgPT0gTlVMTAorIAkgIHx8IChmaWVsZHMgPSAoY2hhciAqKSBtYWxsb2Mo bisxKSkgPT0gTlVMTAorLQkgIHx8IChmbGR0YWIgPSAoQ2VsbCAqKikgbWFs bG9jKChuZmllbGRzKzEpICogc2l6ZW9mKENlbGwgKikpKSA9PSBOVUxMCisr CSAgfHwgKGZsZHRhYiA9IChDZWxsICoqKSBjYWxsb2MoKG5maWVsZHMrMSks IHNpemVvZihDZWxsICopKSkgPT0gTlVMTAorIAkgIHx8IChmbGR0YWJbMF0g PSAoQ2VsbCAqKSBtYWxsb2Moc2l6ZW9mKENlbGwpKSkgPT0gTlVMTCApCisg CQlGQVRBTCgib3V0IG9mIHNwYWNlIGZvciAkMCBhbmQgZmllbGRzIik7Cisg CSpmbGR0YWJbMF0gPSBkb2xsYXIwOworQEAgLTc4LDcgKzc4LDcgQEAKKyAJ CWlmIChmbGR0YWJbaV0gPT0gTlVMTCkKKyAJCQlGQVRBTCgib3V0IG9mIHNw YWNlIGluIG1ha2VmaWVsZHMgJWQiLCBpKTsKKyAJCSpmbGR0YWJbaV0gPSBk b2xsYXIxOworLQkJc3ByaW50Zih0ZW1wLCAiJWQiLCBpKTsKKysJCXNucHJp bnRmKHRlbXAsIHNpemVvZiB0ZW1wLCAiJWQiLCBpKTsKKyAJCWZsZHRhYltp XS0+bnZhbCA9IHRvc3RyaW5nKHRlbXApOworIAl9CisgfQorQEAgLTIyNiw3 ICsyMjYsNyBAQAorIAljaGFyICpzLCB0ZW1wWzUwXTsKKyAJZXh0ZXJuIEFy cmF5ICpBUkdWdGFiOworIAorLQlzcHJpbnRmKHRlbXAsICIlZCIsIG4pOwor KwlzbnByaW50Zih0ZW1wLCBzaXplb2YgdGVtcCwgIiVkIiwgbik7CisgCXgg PSBzZXRzeW10YWIodGVtcCwgIiIsIDAuMCwgU1RSLCBBUkdWdGFiKTsKKyAJ cyA9IGdldHN2YWwoeCk7CisgCSAgIGRwcmludGYoICgiZ2V0YXJndiglZCkg cmV0dXJucyB8JXN8XG4iLCBuLCBzKSApOwpkaWZmIC1ydU4gbmF3ay5vcmln L2ZpbGVzL3BhdGNoLXRyYW4uYyBuYXdrL2ZpbGVzL3BhdGNoLXRyYW4uYwot LS0gbmF3ay5vcmlnL2ZpbGVzL3BhdGNoLXRyYW4uYwkxOTY5LTEyLTMxIDE5 OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAorKysgbmF3ay9maWxlcy9wYXRjaC10 cmFuLmMJMjAwOC0wNy0wNyAxMDo1MzoyNi4wMDAwMDAwMDAgLTA1MDAKQEAg LTAsMCArMSwyMyBAQAorZGlmZiAtdSAtcCAtcjEuNiAtcjEuOS4xMC4xCist LS0gdHJhbi5jLm9yaWcJMjAwNS8wNy8wMyAxNToxODoxMQkxLjYKKysrKyB0 cmFuLmMJMjAwNy8xMS8wNiAyMzowNzo1MgkxLjkuMTAuMQorQEAgLTIxMCw3 ICsyMTAsMTAgQEAgQ2VsbCAqc2V0c3ltdGFiKGNvbnN0IGNoYXIgKm4sIGNv bnN0IGNoYQorIAlpbnQgaDsKKyAJQ2VsbCAqcDsKKyAKKy0JaWYgKG4gIT0g TlVMTCAmJiAocCA9IGxvb2t1cChuLCB0cCkpICE9IE5VTEwpIHsKKysJaWYg KG4gPT0gTlVMTCkKKysJCW4gPSAiIjsKKysKKysJaWYgKChwID0gbG9va3Vw KG4sIHRwKSkgIT0gTlVMTCkgeworIAkJICAgZHByaW50ZiggKCJzZXRzeW10 YWIgZm91bmQgJXA6IG49JXMgcz1cIiVzXCIgZj0lZyB0PSVvXG4iLAorIAkJ CXAsIE5OKHAtPm52YWwpLCBOTihwLT5zdmFsKSwgcC0+ZnZhbCwgcC0+dHZh bCkgKTsKKyAJCXJldHVybihwKTsKK0BAIC0yODIsNiArMjg1LDcgQEAgQXdr ZmxvYXQgc2V0ZnZhbChDZWxsICp2cCwgQXdrZmxvYXQgZikJLworIHsKKyAJ aW50IGZsZG5vOworIAorKwlmICs9IDAuMDsJCS8qIG5vcm1hbGlzZSBuZWdh dGl2ZSB6ZXJvIHRvIHBvc2l0aXZlIHplcm8gKi8KKyAJaWYgKCh2cC0+dHZh bCAmIChOVU0gfCBTVFIpKSA9PSAwKSAKKyAJCWZ1bm55dmFyKHZwLCAiYXNz aWduIHRvIik7CisgCWlmIChpc2ZsZCh2cCkpIHsK --0-562972999-1215447380=:72738--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807071620.m67GK6kD096537>