From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Andr=C3=A9=20Goddard=20Rosa?= Subject: [PATCH v4 08/12] vsprintf: reuse almost identical simple_strtoulX() functions Date: Sat, 7 Nov 2009 13:16:16 -0200 Message-ID: <57d62b178a5bbd0393e83a2293ba933e60ddc658.1257602781.git.andre.goddard__44294.1692461774$1257837075$gmane$org@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pw0-f53.google.com (mail-pw0-f53.google.com [209.85.160.53]) by alsa0.perex.cz (Postfix) with ESMTP id 665A8244F9 for ; Sun, 8 Nov 2009 16:21:35 +0100 (CET) Received: by pwj11 with SMTP id 11so1900955pwj.32 for ; Sun, 08 Nov 2009 07:21:34 -0800 (PST) In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Martin Schwidefsky , Heiko Carstens , linux390@de.ibm.com, Michael Holzheu , Andrew Morton Cc: =?UTF-8?q?Andr=C3=A9=20Goddard=20Rosa?= List-Id: alsa-devel@alsa-project.org VGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzaW1wbGVfc3RydG91bCgpIGFuZCBzaW1wbGVfc3RydG91 bGwoKSBpcyBqdXN0CnRoZSBzaXplIG9mIHRoZSB2YXJpYWJsZSB1c2VkIHRvIGtlZXAgdHJhY2sg b2YgdGhlIHN1bSBvZiBjaGFyYWN0ZXJzCmNvbnZlcnRlZCB0byBudW1iZXJzOgoKdW5zaWduZWQg bG9uZyBzaW1wbGVfc3RydG91bCgpIHsuLi59CnVuc2lnbmVkIGxvbmcgbG9uZyBzaW1wbGVfc3Ry dG91bGwoKXsuLi59CgpCb3RoIGFyZSBzYW1lIHNpemUgKDggYnl0ZXMpIG9uIG15IENvcmUgMi9n Y2MgNC40LjEuCk92ZXJmbG93IGNvbmRpdGlvbiBpcyBub3QgY2hlY2tlZCBvbiBib3RoIGZ1bmN0 aW9ucywgc28gYW4gZXh0cmVtZWx5IGxhcmdlCnN0cmluZyBjYW4gYnJlYWsgdGhlc2UgZnVuY3Rp b25zIHNvIHRoYXQgdGhleSBkb24ndCBldmVuIG5vdGljZSBpdC4KCkFzIHdlIGRvIG5vdCBjYXJl IGZvciBvdmVyZmxvd2luZyBvbiB0aGVzZSBmdW5jdGlvbnMsIGFsd2F5cyBrZWVwIHRoZSBzdW0K dXNpbmcgdGhlIGxhcmdlciB2YXJpYWJsZSBhcm91bmQgKHVuc2lnbmVkIGxvbmcgbG9uZykgb24g c2ltcGxlX3N0cnRvdWxsKCkKYW5kIGNhc3QgaXQgdG8gKHVuc2lnbmVkIGxvbmcpIG9uIHNpbXBs ZV9zdHJ0b3VsKCksIHdoaWNoIHRoZW4gYmVjb21lcwpqdXN0IGEgd3JhcHBlciBhcm91bmQgc2lt cGxlX3N0cnRvdWxsKCkuCgpDb2RlIHNpemUgZGVjcmVhc2VzIGJ5IDMwNCBieXRlczoKICAgdGV4 dCAgICBkYXRhICAgICBic3MgICAgIGRlYyAgICAgaGV4IGZpbGVuYW1lCiAgMTU1NDMgICAgICAg MCAgICAgICA4ICAgMTU1NTEgICAgM2NiZiBsaWIvdnNwcmludGYuby1iZWZvcmUKICAxNTIzOSAg ICAgICAwICAgICAgIDggICAxNTI0NyAgICAzYjhmIGxpYi92c3ByaW50Zi5vLWFmdGVyCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRyw6kgR29kZGFyZCBSb3NhIDxhbmRyZS5nb2RkYXJkQGdtYWlsLmNvbT4K QWNrZWQtYnk6IEluZ28gTW9sbmFyIDxtaW5nb0BlbHRlLmh1PgotLS0KIGxpYi92c3ByaW50Zi5j IHwgICA0OCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbGliL3ZzcHJpbnRmLmMgYi9saWIvdnNwcmludGYuYwppbmRleCA1NjZjOTQ3Li43 ZWM5NmEzIDEwMDY0NAotLS0gYS9saWIvdnNwcmludGYuYworKysgYi9saWIvdnNwcmludGYuYwpA QCAtNDksMTQgKzQ5LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2ltcGxlX2d1ZXNzX2Jhc2Uo Y29uc3QgY2hhciAqY3ApCiB9CiAKIC8qKgotICogc2ltcGxlX3N0cnRvdWwgLSBjb252ZXJ0IGEg c3RyaW5nIHRvIGFuIHVuc2lnbmVkIGxvbmcKKyAqIHNpbXBsZV9zdHJ0b3VsbCAtIGNvbnZlcnQg YSBzdHJpbmcgdG8gYW4gdW5zaWduZWQgbG9uZyBsb25nCiAgKiBAY3A6IFRoZSBzdGFydCBvZiB0 aGUgc3RyaW5nCiAgKiBAZW5kcDogQSBwb2ludGVyIHRvIHRoZSBlbmQgb2YgdGhlIHBhcnNlZCBz dHJpbmcgd2lsbCBiZSBwbGFjZWQgaGVyZQogICogQGJhc2U6IFRoZSBudW1iZXIgYmFzZSB0byB1 c2UKICAqLwotdW5zaWduZWQgbG9uZyBzaW1wbGVfc3RydG91bChjb25zdCBjaGFyICpjcCwgY2hh ciAqKmVuZHAsIHVuc2lnbmVkIGludCBiYXNlKQordW5zaWduZWQgbG9uZyBsb25nIHNpbXBsZV9z dHJ0b3VsbChjb25zdCBjaGFyICpjcCwgY2hhciAqKmVuZHAsIHVuc2lnbmVkIGludCBiYXNlKQog ewotCXVuc2lnbmVkIGxvbmcgcmVzdWx0ID0gMDsKKwl1bnNpZ25lZCBsb25nIGxvbmcgcmVzdWx0 ID0gMDsKIAogCWlmICghYmFzZSkKIAkJYmFzZSA9IHNpbXBsZV9ndWVzc19iYXNlKGNwKTsKQEAg LTc4LDU0ICs3OCwzNCBAQCB1bnNpZ25lZCBsb25nIHNpbXBsZV9zdHJ0b3VsKGNvbnN0IGNoYXIg KmNwLCBjaGFyICoqZW5kcCwgdW5zaWduZWQgaW50IGJhc2UpCiAKIAlyZXR1cm4gcmVzdWx0Owog fQotRVhQT1JUX1NZTUJPTChzaW1wbGVfc3RydG91bCk7CitFWFBPUlRfU1lNQk9MKHNpbXBsZV9z dHJ0b3VsbCk7CiAKIC8qKgotICogc2ltcGxlX3N0cnRvbCAtIGNvbnZlcnQgYSBzdHJpbmcgdG8g YSBzaWduZWQgbG9uZworICogc2ltcGxlX3N0cnRvdWwgLSBjb252ZXJ0IGEgc3RyaW5nIHRvIGFu IHVuc2lnbmVkIGxvbmcKICAqIEBjcDogVGhlIHN0YXJ0IG9mIHRoZSBzdHJpbmcKICAqIEBlbmRw OiBBIHBvaW50ZXIgdG8gdGhlIGVuZCBvZiB0aGUgcGFyc2VkIHN0cmluZyB3aWxsIGJlIHBsYWNl ZCBoZXJlCiAgKiBAYmFzZTogVGhlIG51bWJlciBiYXNlIHRvIHVzZQogICovCi1sb25nIHNpbXBs ZV9zdHJ0b2woY29uc3QgY2hhciAqY3AsIGNoYXIgKiplbmRwLCB1bnNpZ25lZCBpbnQgYmFzZSkK K3Vuc2lnbmVkIGxvbmcgc2ltcGxlX3N0cnRvdWwoY29uc3QgY2hhciAqY3AsIGNoYXIgKiplbmRw LCB1bnNpZ25lZCBpbnQgYmFzZSkKIHsKLQlpZiAoKmNwID09ICctJykKLQkJcmV0dXJuIC1zaW1w bGVfc3RydG91bChjcCArIDEsIGVuZHAsIGJhc2UpOwotCi0JcmV0dXJuIHNpbXBsZV9zdHJ0b3Vs KGNwLCBlbmRwLCBiYXNlKTsKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpc2ltcGxlX3N0cnRvdWxs KGNwLCBlbmRwLCBiYXNlKTsKIH0KLUVYUE9SVF9TWU1CT0woc2ltcGxlX3N0cnRvbCk7CitFWFBP UlRfU1lNQk9MKHNpbXBsZV9zdHJ0b3VsKTsKIAogLyoqCi0gKiBzaW1wbGVfc3RydG91bGwgLSBj b252ZXJ0IGEgc3RyaW5nIHRvIGFuIHVuc2lnbmVkIGxvbmcgbG9uZworICogc2ltcGxlX3N0cnRv bCAtIGNvbnZlcnQgYSBzdHJpbmcgdG8gYSBzaWduZWQgbG9uZwogICogQGNwOiBUaGUgc3RhcnQg b2YgdGhlIHN0cmluZwogICogQGVuZHA6IEEgcG9pbnRlciB0byB0aGUgZW5kIG9mIHRoZSBwYXJz ZWQgc3RyaW5nIHdpbGwgYmUgcGxhY2VkIGhlcmUKICAqIEBiYXNlOiBUaGUgbnVtYmVyIGJhc2Ug dG8gdXNlCiAgKi8KLXVuc2lnbmVkIGxvbmcgbG9uZyBzaW1wbGVfc3RydG91bGwoY29uc3QgY2hh ciAqY3AsIGNoYXIgKiplbmRwLCB1bnNpZ25lZCBpbnQgYmFzZSkKK2xvbmcgc2ltcGxlX3N0cnRv bChjb25zdCBjaGFyICpjcCwgY2hhciAqKmVuZHAsIHVuc2lnbmVkIGludCBiYXNlKQogewotCXVu c2lnbmVkIGxvbmcgbG9uZyByZXN1bHQgPSAwOwotCi0JaWYgKCFiYXNlKQotCQliYXNlID0gc2lt cGxlX2d1ZXNzX2Jhc2UoY3ApOwotCi0JaWYgKGJhc2UgPT0gMTYgJiYgY3BbMF0gPT0gJzAnICYm IFRPTE9XRVIoY3BbMV0pID09ICd4JykKLQkJY3AgKz0gMjsKLQotCXdoaWxlIChpc3hkaWdpdCgq Y3ApKSB7Ci0JCXVuc2lnbmVkIGludCB2YWx1ZTsKLQotCQl2YWx1ZSA9IGlzZGlnaXQoKmNwKSA/ ICpjcCAtICcwJyA6IFRPTE9XRVIoKmNwKSAtICdhJyArIDEwOwotCQlpZiAodmFsdWUgPj0gYmFz ZSkKLQkJCWJyZWFrOwotCQlyZXN1bHQgPSByZXN1bHQgKiBiYXNlICsgdmFsdWU7Ci0JCWNwKys7 Ci0JfQotCWlmIChlbmRwKQotCQkqZW5kcCA9IChjaGFyICopY3A7CisJaWYgKCpjcCA9PSAnLScp CisJCXJldHVybiAtc2ltcGxlX3N0cnRvdWwoY3AgKyAxLCBlbmRwLCBiYXNlKTsKIAotCXJldHVy biByZXN1bHQ7CisJcmV0dXJuIHNpbXBsZV9zdHJ0b3VsKGNwLCBlbmRwLCBiYXNlKTsKIH0KLUVY UE9SVF9TWU1CT0woc2ltcGxlX3N0cnRvdWxsKTsKK0VYUE9SVF9TWU1CT0woc2ltcGxlX3N0cnRv bCk7CiAKIC8qKgogICogc2ltcGxlX3N0cnRvbGwgLSBjb252ZXJ0IGEgc3RyaW5nIHRvIGEgc2ln bmVkIGxvbmcgbG9uZwotLSAKMS42LjUuMi4xNTMuZzZlMzFmLmRpcnR5CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlz dApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5vcmcKaHR0cDovL21haWxtYW4uYWxzYS1wcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Fsc2EtZGV2ZWwK