From: Eric Mahurin Date: 2008-05-28T11:04:40+09:00 Subject: Re: [PATCH] block args w/ defaults (updated) ------=_Part_19715_28270956.1211940334791 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 2008/5/27 Radoslaw Bulat : > > Could you send this patch as attachment please? When I copy it from > mail there are some white space issue and patch couldn't be applied > automatically (the same was with previous but attached patch worked > for me). Another try. This time telling gmail to use plain text for composing. I'm assuming your name was causing the whole message to be base64 encoded making it unreadable on the ruby-core archive. ------=_Part_19715_28270956.1211940334791 Content-Type: text/plain; name=block_optarg.patch.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fgr9vmmg0 Content-Disposition: attachment; filename=block_optarg.patch.txt SW5kZXg6IHNhbXBsZS90ZXN0LnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNhbXBsZS90ZXN0LnJiCShyZXZp c2lvbiAxNjU2OCkKKysrIHNhbXBsZS90ZXN0LnJiCSh3b3JraW5nIGNvcHkpCkBAIC0yOTYsNiAr Mjk2LDYxIEBACiB0ZXN0X29rKGYuY2FsbChbNDIsNTVdKSA9PSBbWzQyLDU1XV0pCiB0ZXN0X29r KGYuY2FsbCg0Miw1NSkgPT0gWzQyLDU1XSkKIAorW21ldGhvZCg6bGFtYmRhKSwgbWV0aG9kKDpw cm9jKSwgUHJvYy5tZXRob2QoOm5ldyksIGxhbWJkYXt8JmJ8Yn1dLmVhY2ggZG8gfGxhbXwKKwor ICAgIGYgPSBsYW0uY2FsbCB7IHxhLCBiPTQyLCAqY3wgW2EsYixjXSB9CisgICAgdGVzdF9vayhm LmNhbGwoMSAgICAgICkgPT0gWzEsNDIsWyAgXV0gKQorICAgIHRlc3Rfb2soZi5jYWxsKDEsNDMg ICApID09IFsxLDQzLFsgIF1dICkKKyAgICB0ZXN0X29rKGYuY2FsbCgxLDQzLDQ0KSA9PSBbMSw0 MyxbNDRdXSApCisgICAgCisgICAgZiA9IGxhbS5jYWxsIHsgfGEsIGI9KGF8MTYpLCAqYywgJmJs b2NrfCBbYSxiLGMsYmxvY2smJmJsb2NrW11dIH0KKyAgICB0ZXN0X29rKGYuY2FsbCg4ICAgICAg KSAgICAgPT0gWzgsMjQsWyAgXSxuaWxdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg4LDQzICAgKSAg ICAgPT0gWzgsNDMsWyAgXSxuaWxdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg4LDQzLDQ0KSAgICAg PT0gWzgsNDMsWzQ0XSxuaWxdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg4ICAgICAgKXs0NX0gPT0g WzgsMjQsWyAgXSw0NSBdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg4LDQzICAgKXs0NX0gPT0gWzgs NDMsWyAgXSw0NSBdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg4LDQzLDQ0KXs0NX0gPT0gWzgsNDMs WzQ0XSw0NSBdICkKKyAgICAKKyAgICBmID0gbGFtLmNhbGwgeyB8YSwgYj00MiwgKmMsIGR8IFth LGIsYyxkXSB9CisgICAgdGVzdF9vayhmLmNhbGwoMSAgICAgICw5OSkgPT0gWzEsNDIsWyAgXSw5 OV0gKQorICAgIHRlc3Rfb2soZi5jYWxsKDEsNDMgICAsOTkpID09IFsxLDQzLFsgIF0sOTldICkK KyAgICB0ZXN0X29rKGYuY2FsbCgxLDQzLDQ0LDk5KSA9PSBbMSw0MyxbNDRdLDk5XSApCisgICAg CisgICAgZiA9IGxhbS5jYWxsIHsgfGEsIGI9KGF8MTYpLCAmYmxvY2t8IFthLGIsYmxvY2smJmJs b2NrW11dIH0KKyAgICB0ZXN0X29rKGYuY2FsbCg4ICAgKSAgICAgPT0gWzgsMjQsbmlsXSApCisg ICAgdGVzdF9vayhmLmNhbGwoOCw0MykgICAgID09IFs4LDQzLG5pbF0gKQorICAgIHRlc3Rfb2so Zi5jYWxsKDggICApezQ1fSA9PSBbOCwyNCw0NSBdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg4LDQz KXs0NX0gPT0gWzgsNDMsNDUgXSApCisgICAgCisgICAgZiA9IGxhbS5jYWxsIHsgfGEsIGI9NDIs IGR8IFthLGIsZF0gfQorICAgIHRlc3Rfb2soZi5jYWxsKDEgICAsOTkpID09IFsxLDQyLDk5XSAp CisgICAgdGVzdF9vayhmLmNhbGwoMSw0Myw5OSkgPT0gWzEsNDMsOTldICkKKyAgICAKKyAgICBm ID0gbGFtLmNhbGwgeyB8Yj00MiwgKmMsICZibG9ja3wgW2IsYyxibG9jayYmYmxvY2tbXV0gfQor ICAgIHRlc3Rfb2soZi5jYWxsKCAgICAgKSAgICAgPT0gWzQyLFsgIF0sbmlsXSApCisgICAgdGVz dF9vayhmLmNhbGwoNDMgICApICAgICA9PSBbNDMsWyAgXSxuaWxdICkKKyAgICB0ZXN0X29rKGYu Y2FsbCg0Myw0NCkgICAgID09IFs0MyxbNDRdLG5pbF0gKQorICAgIHRlc3Rfb2soZi5jYWxsKCAg ICAgKXs0NX0gPT0gWzQyLFsgIF0sNDUgXSApCisgICAgdGVzdF9vayhmLmNhbGwoNDMgICApezQ1 fSA9PSBbNDMsWyAgXSw0NSBdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg0Myw0NCl7NDV9ID09IFs0 MyxbNDRdLDQ1IF0gKQorICAgIAorICAgIGYgPSBsYW0uY2FsbCB7IHxiPTQyLCAqYywgZHwgW2Is YyxkXSB9CisgICAgdGVzdF9vayhmLmNhbGwoICAgICAgOTkpID09IFs0MixbICBdLDk5XSApCisg ICAgdGVzdF9vayhmLmNhbGwoNDMgICAsOTkpID09IFs0MyxbICBdLDk5XSApCisgICAgdGVzdF9v ayhmLmNhbGwoNDMsNDQsOTkpID09IFs0MyxbNDRdLDk5XSApCisgICAgCisgICAgZiA9IGxhbS5j YWxsIHsgfGI9NDIsICZibG9ja3wgW2IsYmxvY2smJmJsb2NrW11dIH0KKyAgICB0ZXN0X29rKGYu Y2FsbCggICkgICAgID09IFs0MixuaWxdICkKKyAgICB0ZXN0X29rKGYuY2FsbCg0MykgICAgID09 IFs0MyxuaWxdICkKKyAgICB0ZXN0X29rKGYuY2FsbCggICl7NDV9ID09IFs0Miw0NSBdICkKKyAg ICB0ZXN0X29rKGYuY2FsbCg0Myl7NDV9ID09IFs0Myw0NSBdICkKKyAgICAKKyAgICBmID0gbGFt LmNhbGwgeyB8Yj00MiwgZHwgW2IsZF0gfQorICAgIHRlc3Rfb2soZi5jYWxsKCAgIDk5KSA9PSBb NDIsOTldICkKKyAgICB0ZXN0X29rKGYuY2FsbCg0Myw5OSkgPT0gWzQzLDk5XSApCisKK2VuZAor CiBhLD0qWzFdCiB0ZXN0X29rKGEgPT0gMSkKIGEsPSpbWzFdXQpJbmRleDogcGFyc2UueQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBwYXJzZS55CShyZXZpc2lvbiAxNjU2OCkKKysrIHBhcnNlLnkJKHdvcmtpbmcg Y29weSkKQEAgLTY2Niw2ICs2NjYsNyBAQAogJXR5cGUgPG5vZGU+IG9wZW5fYXJncyBwYXJlbl9h cmdzIG9wdF9wYXJlbl9hcmdzCiAldHlwZSA8bm9kZT4gY29tbWFuZF9hcmdzIGFyZWZfYXJncyBv cHRfYmxvY2tfYXJnIGJsb2NrX2FyZyB2YXJfcmVmIHZhcl9saHMKICV0eXBlIDxub2RlPiBtcmhz IHN1cGVyY2xhc3MgYmxvY2tfY2FsbCBibG9ja19jb21tYW5kCisldHlwZSA8bm9kZT4gZl9ibG9j a19vcHRhcmcgZl9ibG9ja19vcHQKICV0eXBlIDxub2RlPiBmX2FyZ2xpc3QgZl9hcmdzIGZfYXJn IGZfYXJnX2l0ZW0gZl9vcHRhcmcgZl9tYXJnIGZfbWFyZ19saXN0IGZfbWFyZ3MKICV0eXBlIDxu b2RlPiBhc3NvY19saXN0IGFzc29jcyBhc3NvYyB1bmRlZl9saXN0IGJhY2tyZWYgc3RyaW5nX2R2 YXIgZm9yX3ZhcgogJXR5cGUgPG5vZGU+IGJsb2NrX3BhcmFtIG9wdF9ibG9ja19wYXJhbSBibG9j a19wYXJhbV9kZWYgZl9vcHQKQEAgLTMxNjksOSArMzE3MCw0MSBAQAogCQkgICAgfQogCQk7CiAK LWJsb2NrX3BhcmFtCTogZl9hcmcgJywnIGZfcmVzdF9hcmcgb3B0X2ZfYmxvY2tfYXJnCitibG9j a19wYXJhbQk6IGZfYXJnICcsJyBmX2Jsb2NrX29wdGFyZyAnLCcgZl9yZXN0X2FyZyBvcHRfZl9i bG9ja19hcmcKIAkJICAgIHsKIAkJICAgIC8qJSUlKi8KKwkJCSQkID0gbmV3X2FyZ3MoJDEsICQz LCAkNSwgMCwgJDYpOworCQkgICAgLyolCisJCQkkJCA9IHBhcmFtc19uZXcoJDEsICQzLCAkNSwg UW5pbCwgZXNjYXBlX1F1bmRlZigkNikpOworCQkgICAgJSovCisJCSAgICB9CisJCXwgZl9hcmcg JywnIGZfYmxvY2tfb3B0YXJnICcsJyBmX3Jlc3RfYXJnICcsJyBmX2FyZyBvcHRfZl9ibG9ja19h cmcKKwkJICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSQkID0gbmV3X2FyZ3MoJDEsICQzLCAkNSwg JDcsICQ4KTsKKwkJICAgIC8qJQorCQkJJCQgPSBwYXJhbXNfbmV3KCQxLCAkMywgJDUsICQ3LCBl c2NhcGVfUXVuZGVmKCQ4KSk7CisJCSAgICAlKi8KKwkJICAgIH0KKwkJfCBmX2FyZyAnLCcgZl9i bG9ja19vcHRhcmcgb3B0X2ZfYmxvY2tfYXJnCisJCSAgICB7CisJCSAgICAvKiUlJSovCisJCQkk JCA9IG5ld19hcmdzKCQxLCAkMywgMCwgMCwgJDQpOworCQkgICAgLyolCisJCQkkJCA9IHBhcmFt c19uZXcoJDEsICQzLCBRbmlsLCBRbmlsLCBlc2NhcGVfUXVuZGVmKCQ0KSk7CisJCSAgICAlKi8K KwkJICAgIH0KKwkJfCBmX2FyZyAnLCcgZl9ibG9ja19vcHRhcmcgJywnIGZfYXJnIG9wdF9mX2Js b2NrX2FyZworCQkgICAgeworCQkgICAgLyolJSUqLworCQkJJCQgPSBuZXdfYXJncygkMSwgJDMs IDAsICQ1LCAkNik7CisJCSAgICAvKiUKKwkJCSQkID0gcGFyYW1zX25ldygkMSwgJDMsIFFuaWws ICQ1LCBlc2NhcGVfUXVuZGVmKCQ2KSk7CisJCSAgICAlKi8KKwkJICAgIH0KKyAgICAgICAgICAg ICAgICB8IGZfYXJnICcsJyBmX3Jlc3RfYXJnIG9wdF9mX2Jsb2NrX2FyZworCQkgICAgeworCQkg ICAgLyolJSUqLwogCQkJJCQgPSBuZXdfYXJncygkMSwgMCwgJDMsIDAsICQ0KTsKIAkJICAgIC8q JQogCQkJJCQgPSBwYXJhbXNfbmV3KCQxLCBRbmlsLCAkMywgUW5pbCwgZXNjYXBlX1F1bmRlZigk NCkpOwpAQCAtMzIwMiw2ICszMjM1LDM4IEBACiAJCQkkJCA9IHBhcmFtc19uZXcoJDEsIFFuaWws UW5pbCwgUW5pbCwgZXNjYXBlX1F1bmRlZigkMikpOwogCQkgICAgJSovCiAJCSAgICB9CisJCXwg Zl9ibG9ja19vcHRhcmcgJywnIGZfcmVzdF9hcmcgb3B0X2ZfYmxvY2tfYXJnCisJCSAgICB7CisJ CSAgICAvKiUlJSovCisJCQkkJCA9IG5ld19hcmdzKDAsICQxLCAkMywgMCwgJDQpOworCQkgICAg LyolCisJCQkkJCA9IHBhcmFtc19uZXcoUW5pbCwgJDEsICQzLCBRbmlsLCBlc2NhcGVfUXVuZGVm KCQ0KSk7CisJCSAgICAlKi8KKwkJICAgIH0KKwkJfCBmX2Jsb2NrX29wdGFyZyAnLCcgZl9yZXN0 X2FyZyAnLCcgZl9hcmcgb3B0X2ZfYmxvY2tfYXJnCisJCSAgICB7CisJCSAgICAvKiUlJSovCisJ CQkkJCA9IG5ld19hcmdzKDAsICQxLCAkMywgJDUsICQ2KTsKKwkJICAgIC8qJQorCQkJJCQgPSBw YXJhbXNfbmV3KFFuaWwsICQxLCAkMywgJDUsIGVzY2FwZV9RdW5kZWYoJDYpKTsKKwkJICAgICUq LworCQkgICAgfQorCQl8IGZfYmxvY2tfb3B0YXJnIG9wdF9mX2Jsb2NrX2FyZworCQkgICAgewor CQkgICAgLyolJSUqLworCQkJJCQgPSBuZXdfYXJncygwLCAkMSwgMCwgMCwgJDIpOworCQkgICAg LyolCisJCQkkJCA9IHBhcmFtc19uZXcoUW5pbCwgJDEsIFFuaWwsIFFuaWwsZXNjYXBlX1F1bmRl ZigkMikpOworCQkgICAgJSovCisJCSAgICB9CisJCXwgZl9ibG9ja19vcHRhcmcgJywnIGZfYXJn IG9wdF9mX2Jsb2NrX2FyZworCQkgICAgeworCQkgICAgLyolJSUqLworCQkJJCQgPSBuZXdfYXJn cygwLCAkMSwgMCwgJDMsICQ0KTsKKwkJICAgIC8qJQorCQkJJCQgPSBwYXJhbXNfbmV3KFFuaWws ICQxLCBRbmlsLCAkMywgZXNjYXBlX1F1bmRlZigkNCkpOworCQkgICAgJSovCisJCSAgICB9CiAJ CXwgZl9yZXN0X2FyZyBvcHRfZl9ibG9ja19hcmcKIAkJICAgIHsKIAkJICAgIC8qJSUlKi8KQEAg LTQzMDIsNiArNDM2Nyw0NCBAQAogCQkgICAgfQogCQk7CiAKK2ZfYmxvY2tfb3B0CTogdElERU5U SUZJRVIgJz0nIHByaW1hcnlfdmFsdWUKKwkJICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCWlmICgh aXNfbG9jYWxfaWQoJDEpKQorCQkJICAgIHl5ZXJyb3IoImZvcm1hbCBhcmd1bWVudCBtdXN0IGJl IGxvY2FsIHZhcmlhYmxlIik7CisJCQlzaGFkb3dpbmdfbHZhcigkMSk7CisJCQlhcmdfdmFyKCQx KTsKKwkJCSQkID0gTkVXX09QVF9BUkcoMCwgYXNzaWduYWJsZSgkMSwgJDMpKTsKKwkJICAgIC8q JQorCQkJJCQgPSByYl9hc3NvY19uZXcoJDEsICQzKTsKKwkJICAgICUqLworCQkgICAgfQorCQk7 CisKK2ZfYmxvY2tfb3B0YXJnCTogZl9ibG9ja19vcHQKKwkJICAgIHsKKwkJICAgIC8qJSUlKi8K KwkJCSQkID0gJDE7CisJCSAgICAvKiUKKwkJCSQkID0gcmJfYXJ5X25ldzMoMSwgJDEpOworCQkg ICAgJSovCisJCSAgICB9CisJCXwgZl9ibG9ja19vcHRhcmcgJywnIGZfYmxvY2tfb3B0CisJCSAg ICB7CisJCSAgICAvKiUlJSovCisJCQlOT0RFICpvcHRzID0gJDE7CisKKwkJCXdoaWxlIChvcHRz LT5uZF9uZXh0KSB7CisJCQkgICAgb3B0cyA9IG9wdHMtPm5kX25leHQ7CisJCQl9CisJCQlvcHRz LT5uZF9uZXh0ID0gJDM7CisJCQkkJCA9ICQxOworCQkgICAgLyolCisJCQkkJCA9IHJiX2FyeV9w dXNoKCQxLCAkMyk7CisJCSAgICAlKi8KKwkJICAgIH0KKwkJOworCiBmX29wdGFyZwk6IGZfb3B0 CiAJCSAgICB7CiAJCSAgICAvKiUlJSovCkluZGV4OiB2bV9pbnNuaGVscGVyLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gdm1faW5zbmhlbHBlci5jCShyZXZpc2lvbiAxNjU2OCkKKysrIHZtX2luc25oZWxwZXIu Ywkod29ya2luZyBjb3B5KQpAQCAtNjk5LDcgKzY5OSw4IEBACiAgICAgZWxzZSB7CiAJaW50IGk7 CiAJaW50IGFyZ2MgPSBvcmlnX2FyZ2M7Ci0JY29uc3QgaW50IG0gPSBpc2VxLT5hcmdjOworCWlu dCBtID0gaXNlcS0+YXJnYzsKKwlpbnQgb3B0X3BjID0gMDsKIAogCXRoLT5tYXJrX3N0YWNrX2xl biA9IGFyZ2M7CiAKQEAgLTcxOSwxOCArNzIwLDM5IEBACiAJICAgIE1FTUNQWShhcmd2LCBSQVJS QVlfUFRSKGFyeSksIFZBTFVFLCBhcmdjKTsKIAl9CiAKKyAgICAgICAgaWYgKGlzZXEtPmFyZ19v cHRzKSB7CisgICAgICAgICAgICBjb25zdCBpbnQgb3B0cyA9IGlzZXEtPmFyZ19vcHRzIC0gMSAv KiBubyBvcHQgKi87CisgICAgICAgICAgICBpbnQgb3ZlcnJpZGVzID0gYXJnYy0obSArIGlzZXEt PmFyZ19wb3N0X2xlbik7CisgICAgICAgICAgICBpZiAob3ZlcnJpZGVzID4gb3B0cykgb3ZlcnJp ZGVzID0gb3B0czsKKyAgICAgICAgICAgIGVsc2UgaWYgKG92ZXJyaWRlcyA8IDApIG92ZXJyaWRl cyA9IDA7CisgICAgICAgICAgICBvcHRfcGMgPSBpc2VxLT5hcmdfb3B0X3RhYmxlW292ZXJyaWRl c107CisgICAgICAgICAgICBtICs9IG92ZXJyaWRlczsKKyAgICAgICAgfQorCiAJZm9yIChpPWFy Z2M7IGk8bTsgaSsrKSB7CiAJICAgIGFyZ3ZbaV0gPSBRbmlsOwogCX0KIAogCWlmIChpc2VxLT5h cmdfcmVzdCA9PSAtMSkgewotCSAgICBpZiAobSA8IGFyZ2MpIHsKKwkgICAgaWYgKCAobSArIGlz ZXEtPmFyZ19wb3N0X2xlbikgPCBhcmdjKSB7CiAJCS8qCiAJCSAqIHlpZWxkIDEsIDIKIAkJICog PT4ge3xhfH0gIyB0cnVuY2F0ZQogCQkgKi8KLQkJdGgtPm1hcmtfc3RhY2tfbGVuID0gYXJnYyA9 IG07CisJCXRoLT5tYXJrX3N0YWNrX2xlbiA9IGFyZ2MgPSBtICsgaXNlcS0+YXJnX3Bvc3RfbGVu OwogCSAgICB9CisgICAgICAgICAgICBpZiAoaXNlcS0+YXJnX3Bvc3RfbGVuKSB7CisJCWludCBs ZW4gPSBpc2VxLT5hcmdfcG9zdF9sZW47CisJCWludCBzdGFydCA9IGlzZXEtPmFyZ19wb3N0X3N0 YXJ0OworCQlpbnQgcnNpemUgPSBhcmdjID4gbSA/IGFyZ2MgLSBtIDogMDsKKwkJaW50IHBzaXpl ID0gcnNpemU7CisKKwkJTUVNTU9WRSgmYXJndltzdGFydF0sICZhcmd2W2FyZ2MgLSBwc2l6ZV0s IFZBTFVFLCBwc2l6ZSk7CisKKwkJZm9yIChpPXBzaXplOyBpPGxlbjsgaSsrKSB7CisJCSAgICBh cmd2W3N0YXJ0ICsgaV0gPSBRbmlsOworCQl9CisgICAgICAgICAgICB9CiAJfQogCWVsc2Ugewog CSAgICBpbnQgciA9IGlzZXEtPmFyZ19yZXN0OwpAQCAtNzU0LDcgKzc3Niw3IEBACiAJCX0KIAog CQkvKiBjb3B5IHBvc3QgYXJndW1lbnQgKi8KLQkJTUVNTU9WRSgmYXJndltzdGFydF0sICZhcmd2 W3IgKyByc2l6ZSAtIHBzaXplXSwgVkFMVUUsIHBzaXplKTsKKwkJTUVNTU9WRSgmYXJndltzdGFy dF0sICZhcmd2W2FyZ2MgLSBwc2l6ZV0sIFZBTFVFLCBwc2l6ZSk7CiAKIAkJZm9yIChpPXBzaXpl OyBpPGxlbjsgaSsrKSB7CiAJCSAgICBhcmd2W3N0YXJ0ICsgaV0gPSBRbmlsOwpAQCAtNzkxLDcg KzgxMyw3IEBACiAJfQogCiAJdGgtPm1hcmtfc3RhY2tfbGVuID0gMDsKLQlyZXR1cm4gMDsKKwly ZXR1cm4gb3B0X3BjOwogICAgIH0KIH0KIAo= ------=_Part_19715_28270956.1211940334791--