Date: Thu, 9 Dec 2010 16:10:13 GMT From: "Pedro F. Giffuni" <giffunip@tutopia.com> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/152934: Enhancements to printf(1) Message-ID: <201012091610.oB9GAD9n072121@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/152934; it has been noted by GNATS. From: "Pedro F. Giffuni" <giffunip@tutopia.com> To: bug-followup@FreeBSD.org Cc: Subject: Re: bin/152934: Enhancements to printf(1) Date: Thu, 9 Dec 2010 08:05:34 -0800 (PST) --0-763593055-1291910734=:99324 Content-Type: text/plain; charset=us-ascii Updated patch from the latest illumos source. I also reduced the diff wrt updated FreeBSD source. --0-763593055-1291910734=:99324 Content-Type: text/plain; name="patch-printf.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch-printf.txt" ZGlmZiAtcnUgcHJpbnRmLm9yaWcvcHJpbnRmLmMgcHJpbnRmL3ByaW50Zi5j Ci0tLSBwcmludGYub3JpZy9wcmludGYuYwkyMDEwLTEyLTA4IDIxOjI0OjU5 LjAwMDAwMDAwMCArMDAwMAorKysgcHJpbnRmL3ByaW50Zi5jCTIwMTAtMTIt MDkgMTA6Mzk6MTkuMDAwMDAwMDAwICswMDAwCkBAIC0xLDQgKzEsNSBAQAog LyoKKyAqIENvcHlyaWdodCAyMDEwIE5leGVudGEgU3lzdGVtcywgSW5jLiAg QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMTk4OSwg MTk5MwogICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2Fs aWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMTAsMTAg KzExLDYgQEAKICAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICBu b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgKiAgICBkb2N1bWVudGF0aW9uIGFu ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp YnV0aW9uLgotICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50 aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCi0gKiAg ICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6 Ci0gKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVk IGJ5IHRoZSBVbml2ZXJzaXR5IG9mCi0gKglDYWxpZm9ybmlhLCBCZXJrZWxl eSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KICAqIDQuIE5laXRoZXIgdGhlIG5h bWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u dHJpYnV0b3JzCiAgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKICAq ICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u LgpAQCAtNzMsNiArNzAsMTEgQEAKIAogI2RlZmluZSBQRihmLCBmdW5jKSBk byB7IFwKIAljaGFyICpiID0gTlVMTDsgXAorCWludCBkb2xsYXIgPSAwOwlc CisJaWYgKCpmID09ICckJykgCXsgXAorCQlkb2xsYXIrKzsgXAorCQkqZiA9 ICclJzsgXAorCX0gXAogCWlmIChoYXZld2lkdGgpIFwKIAkJaWYgKGhhdmVw cmVjKSBcCiAJCQkodm9pZClhc3ByaW50ZigmYiwgZiwgZmllbGR3aWR0aCwg cHJlY2lzaW9uLCBmdW5jKTsgXApAQCAtODYsNiArODgsOCBAQAogCQkodm9p ZClmcHV0cyhiLCBzdGRvdXQpOyBcCiAJCWZyZWUoYik7IFwKIAl9IFwKKwlp ZiAoZG9sbGFyKSBcCisJCSpmID0gJyQnOyBcCiB9IHdoaWxlICgwKQogCiBz dGF0aWMgaW50CSBhc2NpaWNvZGUodm9pZCk7CkBAIC05NywzMyArMTAxLDI4 IEBACiBzdGF0aWMgaW50CSBnZXRudW0oaW50bWF4X3QgKiwgdWludG1heF90 ICosIGludCk7CiBzdGF0aWMgY29uc3QgY2hhcgogCQkqZ2V0c3RyKHZvaWQp Owotc3RhdGljIGNoYXIJKm1rbnVtKGNoYXIgKiwgaW50KTsKK3N0YXRpYyBj aGFyCSpta251bShjaGFyICosIGNoYXIpOwogc3RhdGljIHZvaWQJIHVzYWdl KHZvaWQpOwogCitzdGF0aWMgaW50ICBteWFyZ2M7CitzdGF0aWMgY2hhciAq Km15YXJndjsKIHN0YXRpYyBjaGFyICoqZ2FyZ3Y7CiAKIGludAogbWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdKQogewogCXNpemVfdCBsZW47Ci0JaW50 IGNoLCBjaG9wcGVkLCBlbmQsIHJ2YWw7CisJaW50IGNob3BwZWQsIGVuZCwg cnZhbDsKIAljaGFyICpmb3JtYXQsICpmbXQsICpzdGFydDsKIAogI2lmbmRl ZiBTSEVMTAogCSh2b2lkKSBzZXRsb2NhbGUoTENfTlVNRVJJQywgIiIpOwot I2VuZGlmCi0jaWZkZWYgU0hFTEwKKyNlbHNlCiAJb3B0cmVzZXQgPSAxOyBv cHRpbmQgPSAxOyBvcHRlcnIgPSAwOyAvKiBpbml0aWFsaXplIGdldG9wdCAq LwogI2VuZGlmCi0Jd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2LCAi IikpICE9IC0xKQotCQlzd2l0Y2ggKGNoKSB7Ci0JCWNhc2UgJz8nOgotCQlk ZWZhdWx0OgotCQkJdXNhZ2UoKTsKLQkJCXJldHVybiAoMSk7Ci0JCX0KLQlh cmdjIC09IG9wdGluZDsKLQlhcmd2ICs9IG9wdGluZDsKKyAKKwlhcmd2Kys7 CisJYXJnYy0tOwogCiAJaWYgKGFyZ2MgPCAxKSB7CiAJCXVzYWdlKCk7CkBA IC0xNDUsMTQgKzE0NCwyMiBAQAogCWNob3BwZWQgPSBlc2NhcGUoZm10LCAx LCAmbGVuKTsJCS8qIGJhY2tzbGFzaCBpbnRlcnByZXRhdGlvbiAqLwogCXJ2 YWwgPSBlbmQgPSAwOwogCWdhcmd2ID0gKythcmd2OworCiAJZm9yICg7Oykg eworCQljaGFyICoqbWF4YXJndiA9IGdhcmd2OworCisJCW15YXJndiA9IGdh cmd2OworCQlmb3IgKG15YXJnYyA9IDA7IGdhcmd2W215YXJnY107IG15YXJn YysrKQorCQkJLyogbm9wICovOwogCQlzdGFydCA9IGZtdDsKIAkJd2hpbGUg KGZtdCA8IGZvcm1hdCArIGxlbikgewogCQkJaWYgKGZtdFswXSA9PSAnJScp IHsKLQkJCQlmd3JpdGUoc3RhcnQsIDEsIGZtdCAtIHN0YXJ0LCBzdGRvdXQp OworCQkJCSh2b2lkKWZ3cml0ZShzdGFydCwgMSwKKwkJCQkgICAgKHVpbnRw dHJfdClmbXQgLSAodWludHB0cl90KXN0YXJ0LCBzdGRvdXQpOworCiAJCQkJ aWYgKGZtdFsxXSA9PSAnJScpIHsKIAkJCQkJLyogJSUgcHJpbnRzIGEgJSAq LwotCQkJCQlwdXRjaGFyKCclJyk7CisJCQkJCSh2b2lkKXB1dGNoYXIoJyUn KTsKIAkJCQkJZm10ICs9IDI7CiAJCQkJfSBlbHNlIHsKIAkJCQkJZm10ID0g cHJpbnRmX2RvZm9ybWF0KGZtdCwgJnJ2YWwpOwpAQCAtMTY3LDcgKzE3NCwx MCBAQAogCQkJCXN0YXJ0ID0gZm10OwogCQkJfSBlbHNlCiAJCQkJZm10Kys7 CisJCQlpZiAoZ2FyZ3YgPiBtYXhhcmd2KQorCQkJCW1heGFyZ3YgPSBnYXJn djsKIAkJfQorCQlnYXJndiA9IG1heGFyZ3Y7CiAKIAkJaWYgKGVuZCA9PSAx KSB7CiAJCQl3YXJueDEoIm1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIsIE5V TEwsIE5VTEwpOwpAQCAtMTc2LDcgKzE4Niw4IEBACiAjZW5kaWYKIAkJCXJl dHVybiAoMSk7CiAJCX0KLQkJZndyaXRlKHN0YXJ0LCAxLCBmbXQgLSBzdGFy dCwgc3Rkb3V0KTsKKwkJKHZvaWQpZndyaXRlKHN0YXJ0LCAxLCAodWludHB0 cl90KWZtdCAtICh1aW50cHRyX3Qpc3RhcnQsCisJCSAgICAgc3Rkb3V0KTsK IAkJaWYgKGNob3BwZWQgfHwgISpnYXJndikgewogI2lmZGVmIFNIRUxMCiAJ CQlJTlRPTjsKQEAgLTIwMSw2ICsyMTIsMjIgQEAKIAljaGFyIGNvbnZjaCwg bmV4dGNoOwogCiAJZm10ID0gc3RhcnQgKyAxOworCisJLyogbG9vayBmb3Ig Im4kIiBmaWVsZCBpbmRleCBzcGVjaWZpZXIgKi8KKwlmbXQgKz0gc3Ryc3Bu KGZtdCwgc2tpcDIpOworCWlmICgoKmZtdCA9PSAnJCcpICYmIChmbXQgIT0g KHN0YXJ0ICsgMSkpKSB7CisJCWludCBpZHggPSBhdG9pKHN0YXJ0ICsgMSk7 CisJCWlmIChpZHggPD0gbXlhcmdjKSB7CisJCQlnYXJndiA9ICZteWFyZ3Zb aWR4IC0gMV07CisJCX0gZWxzZSB7CisJCQlnYXJndiA9ICZteWFyZ3ZbbXlh cmdjXTsKKwkJfQorCQlzdGFydCA9IGZtdDsKKwkJZm10Kys7CisJfSBlbHNl IHsKKwkJZm10ID0gc3RhcnQgKyAxOworCX0KKwogCS8qIHNraXAgdG8gZmll bGQgd2lkdGggKi8KIAlmbXQgKz0gc3Ryc3BuKGZtdCwgc2tpcDEpOwogCWlm ICgqZm10ID09ICcqJykgewpAQCAtMzQxLDcgKzM2OCw3IEBACiB9CiAKIHN0 YXRpYyBjaGFyICoKLW1rbnVtKGNoYXIgKnN0ciwgaW50IGNoKQorbWtudW0o Y2hhciAqc3RyLCBjaGFyIGNoKQogewogCXN0YXRpYyBjaGFyICpjb3B5Owog CXN0YXRpYyBzaXplX3QgY29weV9zaXplOwpAQCAtMzY0LDcgKzM5MSw3IEBA CiAJCWNvcHlfc2l6ZSA9IG5ld2xlbjsKIAl9CiAKLQltZW1tb3ZlKGNvcHks IHN0ciwgbGVuIC0gMyk7CisJKHZvaWQpbWVtbW92ZShjb3B5LCBzdHIsIGxl biAtIDMpOwogCWNvcHlbbGVuIC0gM10gPSAnaic7CiAJY29weVtsZW4gLSAy XSA9IGNoOwogCWNvcHlbbGVuIC0gMV0gPSAnXDAnOwpAQCAtMzc0LDEwICs0 MDEsMTAgQEAKIHN0YXRpYyBpbnQKIGVzY2FwZShjaGFyICpmbXQsIGludCBw ZXJjZW50LCBzaXplX3QgKmxlbikKIHsKLQljaGFyICpzYXZlLCAqc3RvcmU7 Ci0JaW50IHZhbHVlLCBjOworCWNoYXIgKnNhdmUsICpzdG9yZSwgIGM7CisJ aW50IHZhbHVlOwogCi0JZm9yIChzYXZlID0gc3RvcmUgPSBmbXQ7IChjID0g KmZtdCk7ICsrZm10LCArK3N0b3JlKSB7CisJZm9yIChzYXZlID0gc3RvcmUg PSBmbXQ7ICgoYyA9ICpmbXQpICE9IDApOyArK2ZtdCwgKytzdG9yZSkgewog CQlpZiAoYyAhPSAnXFwnKSB7CiAJCQkqc3RvcmUgPSBjOwogCQkJY29udGlu dWU7CkBAIC0zODYsNyArNDEzLDcgQEAKIAkJY2FzZSAnXDAnOgkJLyogRU9T LCB1c2VyIGVycm9yICovCiAJCQkqc3RvcmUgPSAnXFwnOwogCQkJKisrc3Rv cmUgPSAnXDAnOwotCQkJKmxlbiA9IHN0b3JlIC0gc2F2ZTsKKwkJCSpsZW4g PSAodWludHB0cl90KXN0b3JlIC0gKHVpbnRwdHJfdClzYXZlOwogCQkJcmV0 dXJuICgwKTsKIAkJY2FzZSAnXFwnOgkJLyogYmFja3NsYXNoICovCiAJCWNh c2UgJ1wnJzoJCS8qIHNpbmdsZSBxdW90ZSAqLwpAQCAtNDAwLDcgKzQyNyw3 IEBACiAJCQlicmVhazsKIAkJY2FzZSAnYyc6CiAJCQkqc3RvcmUgPSAnXDAn OwotCQkJKmxlbiA9IHN0b3JlIC0gc2F2ZTsKKwkJCSpsZW4gPSAodWludHB0 cl90KXN0b3JlIC0gKHVpbnRwdHJfdClzYXZlOwogCQkJcmV0dXJuICgxKTsK IAkJY2FzZSAnZic6CQkvKiBmb3JtLWZlZWQgKi8KIAkJCSpzdG9yZSA9ICdc Zic7CkBAIC00MzEsNyArNDU4LDcgQEAKIAkJCQkqc3RvcmUrKyA9ICclJzsK IAkJCQkqc3RvcmUgPSAnJSc7CiAJCQl9IGVsc2UKLQkJCQkqc3RvcmUgPSB2 YWx1ZTsKKwkJCQkqc3RvcmUgPSAoY2hhcil2YWx1ZTsKIAkJCWJyZWFrOwog CQlkZWZhdWx0OgogCQkJKnN0b3JlID0gKmZtdDsKQEAgLTQzOSw3ICs0NjYs NyBAQAogCQl9CiAJfQogCSpzdG9yZSA9ICdcMCc7Ci0JKmxlbiA9IHN0b3Jl IC0gc2F2ZTsKKwkqbGVuID0gKHVpbnRwdHJfdClzdG9yZSAtICh1aW50cHRy X3Qpc2F2ZTsKIAlyZXR1cm4gKDApOwogfQogCg== --0-763593055-1291910734=:99324--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012091610.oB9GAD9n072121>