Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:57349 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10317 invoked from network); 13 Jan 2012 13:10:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Jan 2012 13:10:52 -0000 Authentication-Results: pb1.pair.com smtp.mail=dohardgopro@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=a3at.mail@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.170 as permitted sender) X-PHP-List-Original-Sender: dohardgopro@gmail.com X-Host-Fingerprint: 209.85.212.170 mail-wi0-f170.google.com Received: from [209.85.212.170] ([209.85.212.170:57918] helo=mail-wi0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BB/56-11048-A5D201F4 for ; Fri, 13 Jan 2012 08:10:50 -0500 Received: by wibhq12 with SMTP id hq12so402216wib.29 for ; Fri, 13 Jan 2012 05:10:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:x-google-sender-delegation:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=6w+6Y4TuuvxwAl1zh3c1BHxELEger/4UAsfEm2HR5ro=; b=kIp26q0Y4bPrZ7jpG0NQXzJhf7oWvIdIPhvDHKf+GpsjLEuQf6Le0w7Hn4X4L0ANFI dvWMg6rhy9C5BQ+thPANsmFG0FAG+7rjzcMTmObCSYA8+cwuTuXd5xS2ICrHhxaf7vwz VMOEDZjqkCqRsFtqzIUq1orV0lHfcW4R2s5Ns= MIME-Version: 1.0 Received: by 10.180.88.229 with SMTP id bj5mr1756377wib.5.1326460247123; Fri, 13 Jan 2012 05:10:47 -0800 (PST) Sender: a3at.mail@gmail.com X-Google-Sender-Delegation: a3at.mail@gmail.com Received: by 10.180.104.164 with HTTP; Fri, 13 Jan 2012 05:10:47 -0800 (PST) Date: Fri, 13 Jan 2012 17:10:47 +0400 X-Google-Sender-Auth: ioLCFY15zWr0GUL3bbEZUxGVMyU Message-ID: To: internals@lists.php.net Content-Type: multipart/mixed; boundary=f46d04426740d6a7ad04b6689744 Subject: [PATCH] sprintf like functions and "*" modifier From: dohardgopro@gmail.com (Azat Khuzhin) --f46d04426740d6a7ad04b6689744 Content-Type: multipart/alternative; boundary=f46d04426740d6a7a604b6689742 --f46d04426740d6a7a604b6689742 Content-Type: text/plain; charset=UTF-8 Hi all, I'v add support of "*" modifier for sprintf, it exist in sprintf C implementation (http://www.cplusplus.com/reference/clibrary/cstdio/printf/) Usage: sprintf("%.*f", 2, 2) // output "2.00" sprintf("%.2f", 2) // output "2.00" My patch attached -- Azat Khuzhin --f46d04426740d6a7a604b6689742 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi all, I'v add support of "*" modifier for sprintf, it exist= in sprintf C implementation (http://www.cplusplus.com/refere= nce/clibrary/cstdio/printf/)

Usage:
sprintf("%.*f", 2, 2) // output &= quot;2.00"
sprintf("%.2f", 2) // output "2.00= "

My patch attached

--
Azat Khuzhin
--f46d04426740d6a7a604b6689742-- --f46d04426740d6a7ad04b6689744 Content-Type: text/x-patch; charset=US-ASCII; name="formatted_print.patch" Content-Disposition: attachment; filename="formatted_print.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gxd84yay0 ZGlmZiAtLWdpdCBhL2V4dC9zdGFuZGFyZC9mb3JtYXR0ZWRfcHJpbnQuYyBiL2V4dC9zdGFuZGFy ZC9mb3JtYXR0ZWRfcHJpbnQuYwppbmRleCA0YWViYmYzLi42ODA5M2I3IDEwMDY0NAotLS0gYS9l eHQvc3RhbmRhcmQvZm9ybWF0dGVkX3ByaW50LmMKKysrIGIvZXh0L3N0YW5kYXJkL2Zvcm1hdHRl ZF9wcmludC5jCkBAIC0zNTQsNiArMzU0LDcgQEAgcGhwX3NwcmludGZfZ2V0bnVtYmVyKGNoYXIg KmJ1ZmZlciwgaW50ICpwb3MpCiAgKiAgIG4gICAgZmllbGQgc2l6ZQogICogICIuIm4gIHByZWNp c2lvbiAoZmxvYXRzIG9ubHkpCiAgKiAgIisiICAgQWx3YXlzIHBsYWNlIGEgc2lnbiAoKyBvciAt KSBpbiBmcm9udCBvZiBhIG51bWJlcgorICogICIqIiAgIFRoZSB3aWR0aCBpcyBub3Qgc3BlY2lm aWVkIGluIHRoZSBmb3JtYXQgc3RyaW5nLCBidXQgYXMgYW4gYWRkaXRpb25hbCBpbnRlZ2VyIHZh bHVlIGFyZ3VtZW50IHByZWNlZGluZyB0aGUgYXJndW1lbnQgdGhhdCBoYXMgdG8gYmUgZm9ybWF0 dGVkCiAgKgogICogVHlwZSBzcGVjaWZpZXJzOgogICoKQEAgLTUwNCw3ICs1MDUsMzQgQEAgcGhw X2Zvcm1hdHRlZF9wcmludChpbnQgaHQsIGludCAqbGVuLCBpbnQgdXNlX2FycmF5LCBpbnQgZm9y bWF0X29mZnNldCBUU1JNTFNfREMKIAkJCQlpZiAoZm9ybWF0W2lucG9zXSA9PSAnLicpIHsKIAkJ CQkJaW5wb3MrKzsKIAkJCQkJUFJJTlRGX0RFQlVHKCgic3ByaW50ZjogZ2V0dGluZyBwcmVjaXNp b25cbiIpKTsKLQkJCQkJaWYgKGlzZGlnaXQoKGludClmb3JtYXRbaW5wb3NdKSkgeworCisJCQkJ CS8qICIqIiBtb2RpZmllciAqLworCQkJCQlpZiAoZm9ybWF0W2lucG9zXSA9PSAnKicpIHsKKwkJ CQkJCWlucG9zKys7CisKKwkJCQkJCS8qIG5vdyB3ZSBleHBlY3QgdG8gZmluZCBhIHByZWNpc2lv biBhcmcgKi8KKwkJCQkJCWlmIChtdWx0aXVzZSkgeworCQkJCQkJCU1BS0VfU1REX1pWQUwodG1w KTsKKwkJCQkJCQkqdG1wID0gKiooYXJnc1thcmdudW1dKTsKKwkJCQkJCQlJTklUX1BaVkFMKHRt cCk7CisJCQkJCQkJenZhbF9jb3B5X2N0b3IodG1wKTsKKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJ U0VQQVJBVEVfWlZBTChhcmdzW2FyZ251bV0pOworCQkJCQkJCXRtcCA9ICooYXJnc1thcmdudW1d KTsKKwkJCQkJCX0KKwkJCQkJCWNvbnZlcnRfdG9fbG9uZyh0bXApOworCisJCQkJCQlpZiAoWl9M VkFMX1AodG1wKSA+IDAgJiYgWl9MVkFMX1AodG1wKSA8IElOVF9NQVgpIHsKKwkJCQkJCQlwcmVj aXNpb24gPSBaX0xWQUxfUCh0bXApOworCQkJCQkJCWFkanVzdGluZyB8PSBBREpfUFJFQ0lTSU9O OworCQkJCQkJCWV4cHByZWMgPSAxOworCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQllZnJlZShyZXN1 bHQpOworCQkJCQkJCWVmcmVlKGFyZ3MpOworCQkJCQkJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBU U1JNTFNfQ0MsIEVfV0FSTklORywgIlByZWNpc2lvbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJv IGFuZCBsZXNzIHRoYW4gJWQiLCBJTlRfTUFYKTsKKwkJCQkJCQlyZXR1cm4gTlVMTDsKKwkJCQkJ CX0KKwkJCQkJfSBlbHNlIGlmIChpc2RpZ2l0KChpbnQpZm9ybWF0W2lucG9zXSkpIHsKIAkJCQkJ CWlmICgocHJlY2lzaW9uID0gcGhwX3NwcmludGZfZ2V0bnVtYmVyKGZvcm1hdCwgJmlucG9zKSkg PCAwKSB7CiAJCQkJCQkJZWZyZWUocmVzdWx0KTsKIAkJCQkJCQllZnJlZShhcmdzKTsK --f46d04426740d6a7ad04b6689744--