bin/152934: Enhancements to printf(1)

Pedro F. Giffuni giffunip at tutopia.com
Thu Dec 9 16:10:14 UTC 2010


The following reply was made to PR bin/152934; it has been noted by GNATS.

From: "Pedro F. Giffuni" <giffunip at tutopia.com>
To: bug-followup at 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--


More information about the freebsd-bugs mailing list