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