From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1D4eUB-0007zc-9B for mharc-grub-devel@gnu.org; Fri, 25 Feb 2005 07:22:23 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D4eSr-0007QO-QR for grub-devel@gnu.org; Fri, 25 Feb 2005 07:21:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D4eSl-0007Nd-L7 for grub-devel@gnu.org; Fri, 25 Feb 2005 07:20:57 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D4eSf-0007BK-Db for grub-devel@gnu.org; Fri, 25 Feb 2005 07:20:50 -0500 Received: from [217.12.11.33] (helo=smtp002.mail.ukl.yahoo.com) by monty-python.gnu.org with smtp (Exim 4.34) id 1D4e1W-0003Xh-Js for grub-devel@gnu.org; Fri, 25 Feb 2005 06:52:47 -0500 Received: from unknown (HELO ?192.168.0.2?) (subdino2004@83.194.37.29 with plain) by smtp002.mail.ukl.yahoo.com with SMTP; 25 Feb 2005 11:52:45 -0000 Message-ID: <421F118C.5000504@yahoo.fr> Date: Fri, 25 Feb 2005 12:52:44 +0100 From: Vincent Pelletier User-Agent: Debian Thunderbird 1.0 (X11/20050116) X-Accept-Language: en-us, en MIME-Version: 1.0 To: The development of GRUB 2 References: <421A4CEA.5030603@yahoo.fr> <4ecefea8af9852b4ed0a0b046d73e9ee@penguinppc.org> <421D89FF.9010508@yahoo.fr> <200502242030.04298.okuji@enbug.org> <04d445527a7c6174a4040ca0c217751b@penguinppc.org> In-Reply-To: X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: multipart/mixed; boundary="------------050507030706030805050405" Subject: [PATCHv2] dprintf implementation X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Feb 2005 12:22:21 -0000 This is a multi-part message in MIME format. --------------050507030706030805050405 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit dprintf patch, take 2. grub_strword (string, word) : searches for word (a serie of non-word-separators eventualy ended by word-separators) in string (a succession of 0 or more words which can begin by word-separator(s)) grub_iswordseparator : matches any separator Note : var="value1 value2" currently stores "value1 in var, so I would advice using ',' for tests. I hope this time nothing will be wrong with mime & '~'. Vincent Pelletier 2005-02-25 Vincent Pelletier * include/grub/misc.h (grub_dprintf): New macro. (grub_real_dprintf): New prototype. (grub_strword): Likewise. (grub_iswordseparator): Likewise. * kern/misc.c (grub_real_dprintf): New function. (grub_strword): Likewise. (grub_iswordseparator): Likewise. --------------050507030706030805050405 Content-Type: audio/x-mp3; name="dprintf_2.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="dprintf_2.diff" SW5kZXg6IGluY2x1ZGUvZ3J1Yi9taXNjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2 c3Jvb3QvZ3J1Yi9ncnViMi9pbmNsdWRlL2dydWIvbWlzYy5oLHYKcmV0cmlldmluZyByZXZp c2lvbiAxLjEyCmRpZmYgLXUgLXAgLXIxLjEyIG1pc2MuaAotLS0gaW5jbHVkZS9ncnViL21p c2MuaAkyOSBKYW4gMjAwNSAyMjowMTo1MyAtMDAwMAkxLjEyCisrKyBpbmNsdWRlL2dydWIv bWlzYy5oCTI1IEZlYiAyMDA1IDA3OjI4OjMxIC0wMDAwCkBAIC0yNiw2ICsyNiw3IEBACiAj aW5jbHVkZSA8Z3J1Yi9zeW1ib2wuaD4KICNpbmNsdWRlIDxncnViL2Vyci5oPgogCisjZGVm aW5lIGdydWJfZHByaW50Zihjb25kaXRpb24sIGZtdCwgYXJncy4uLikgZ3J1Yl9yZWFsX2Rw cmludGYoX19GSUxFX18sIF9fTElORV9fLCBjb25kaXRpb24sIGZtdCwgYXJncyk7CiAvKiBY WFg6IElmIGdydWJfbWVtbW92ZSBpcyB0b28gc2xvdywgd2UgbXVzdCBpbXBsZW1lbnQgZ3J1 Yl9tZW1jcHkuICAqLwogI2RlZmluZSBncnViX21lbWNweShkLHMsbikJZ3J1Yl9tZW1tb3Zl ICgoZCksIChzKSwgKG4pKQogCkBAIC00Niw2ICs0Nyw4IEBAIGludCBFWFBPUlRfRlVOQyhn cnViX3N0cm5jbXApIChjb25zdCBjaGEKIGludCBFWFBPUlRfRlVOQyhncnViX3N0cm5jYXNl Y21wKSAoY29uc3QgY2hhciAqczEsIGNvbnN0IGNoYXIgKnMyLCBpbnQgYyk7CiBjaGFyICpF WFBPUlRfRlVOQyhncnViX3N0cmNocikgKGNvbnN0IGNoYXIgKnMsIGludCBjKTsKIGNoYXIg KkVYUE9SVF9GVU5DKGdydWJfc3RycmNocikgKGNvbnN0IGNoYXIgKnMsIGludCBjKTsKK2lu dCBFWFBPUlRfRlVOQyhncnViX3N0cndvcmQpIChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFy ICp3KTsKK2ludCBFWFBPUlRfRlVOQyhncnViX2lzd29yZHNlcGFyYXRvcikgKGludCBjKTsK IGludCBFWFBPUlRfRlVOQyhncnViX2lzc3BhY2UpIChpbnQgYyk7CiBpbnQgRVhQT1JUX0ZV TkMoZ3J1Yl9pc3ByaW50KSAoaW50IGMpOwogaW50IEVYUE9SVF9GVU5DKGdydWJfaXNhbHBo YSkgKGludCBjKTsKQEAgLTU4LDYgKzYxLDEwIEBAIGNoYXIgKkVYUE9SVF9GVU5DKGdydWJf c3RybmR1cCkgKGNvbnN0IGMKIHZvaWQgKkVYUE9SVF9GVU5DKGdydWJfbWVtc2V0KSAodm9p ZCAqcywgaW50IGMsIGdydWJfc2l6ZV90IG4pOwogZ3J1Yl9zaXplX3QgRVhQT1JUX0ZVTkMo Z3J1Yl9zdHJsZW4pIChjb25zdCBjaGFyICpzKTsKIGludCBFWFBPUlRfRlVOQyhncnViX3By aW50ZikgKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChw cmludGYsIDEsIDIpKSk7Cit2b2lkIEVYUE9SVF9GVU5DKGdydWJfcmVhbF9kcHJpbnRmKSAo Y29uc3QgY2hhciAqZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBpbnQgbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICpjb25kaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pIF9fYXR0cmlidXRlX18gKChmb3JtYXQg KHByaW50ZiwgNCwgNSkpKTsKIGludCBFWFBPUlRfRlVOQyhncnViX3ZwcmludGYpIChjb25z dCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncyk7CiBpbnQgRVhQT1JUX0ZVTkMoZ3J1Yl9zcHJp bnRmKSAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXyAo KGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpOwogaW50IEVYUE9SVF9GVU5DKGdydWJfdnNwcmlu dGYpIChjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKTsKSW5kZXg6 IGtlcm4vbWlzYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2dydWIvZ3J1 YjIva2Vybi9taXNjLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTgKZGlmZiAtdSAtcCAt cjEuMTggbWlzYy5jCi0tLSBrZXJuL21pc2MuYwkxOSBGZWIgMjAwNSAyMDo1NjowNyAtMDAw MAkxLjE4CisrKyBrZXJuL21pc2MuYwkyNSBGZWIgMjAwNSAwNzoyODozMiAtMDAwMApAQCAt MTI4LDYgKzEyOCwyMyBAQCBncnViX3ByaW50ZiAoY29uc3QgY2hhciAqZm10LCAuLi4pCiAg IHJldHVybiByZXQ7CiB9ICAKIAordm9pZAorZ3J1Yl9yZWFsX2RwcmludGYoY29uc3QgY2hh ciAqZmlsZSwgY29uc3QgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmNvbmRpdGlvbiwKKyAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworICB2YV9saXN0IGFyZ3M7 CisgIGNvbnN0IGNoYXIgKmRlYnVnID0gZ3J1Yl9lbnZfZ2V0ICgiZGVidWciKTsKKyAgaWYg KCEgZGVidWcpCisgICAgcmV0dXJuOworICBpZiAoZ3J1Yl9zdHJ3b3JkIChkZWJ1ZywgImFs bCIpIHx8IGdydWJfc3Ryd29yZCAoZGVidWcsIGNvbmRpdGlvbikpCisgICAgeworICAgICAg Z3J1Yl9wcmludGYgKCIlcywlZCA6ICIsIGZpbGUsIGxpbmUpOworICAgICAgdmFfc3RhcnQg KGFyZ3MsIGZtdCk7CisgICAgICBncnViX3ZwcmludGYgKGZtdCwgYXJncyk7CisgICAgICB2 YV9lbmQgKGFyZ3MpOworICAgIH0KK30KKwogaW50CiBncnViX3ZwcmludGYgKGNvbnN0IGNo YXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewpAQCAtMjM4LDYgKzI1NSw0OCBAQCBncnViX3N0 cnJjaHIgKGNvbnN0IGNoYXIgKnMsIGludCBjKQogfQogCiBpbnQKK2dydWJfc3Ryd29yZCAo Y29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqdykKK3sKKyAgY29uc3QgY2hhciAqYSwgKmI7 CisKKyAgYSA9IHM7CisgIGIgPSB3OworICAvKiBGaW5kIHRoZSBiZWdpbmluZyBvZiBhIHdv cmQuICovCisgIHdoaWxlIChncnViX2lzd29yZHNlcGFyYXRvciAoKmEpKQorICAgIGErKzsK KyAgd2hpbGUgKCphKQorICAgIHsKKyAgICAgIHdoaWxlKCphICYmICEgZ3J1Yl9pc3dvcmRz ZXBhcmF0b3IgKCphKSAmJiAqYSA9PSAqYikKKyAgICAgICAgeworICAgICAgICAgIGErKzsK KyAgICAgICAgICBiKys7CisgICAgICAgIH0KKyAgICAgIC8qIElmIGJvdGggYXJlIG91dHNp ZGUgb2YgYSB3b3JkIGF0IHRoZSBzYW1lIHRpbWUsIHRoZSB3b3JkIGlzIGZvdW5kLiAqLwor ICAgICAgaWYgKCAoISAqYSB8fCBncnViX2lzd29yZHNlcGFyYXRvciAoKmEpKQorICAgICAg ICAgJiYgKCEgKmIgfHwgZ3J1Yl9pc3dvcmRzZXBhcmF0b3IgKCpiKSkpCisgICAgICAgIHJl dHVybiAxOworICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgYiA9IHc7CisgICAg ICAgICAgLyogRmluZCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHdvcmQuICovCisgICAgICAg ICAgd2hpbGUgKCphICYmICEgZ3J1Yl9pc3dvcmRzZXBhcmF0b3IgKCphKSkKKyAgICAgICAg ICAgIGErKzsKKyAgICAgICAgICAvKiBTa2lwIHNlcGFyYXRvcnMuICovCisgICAgICAgICAg d2hpbGUgKGdydWJfaXN3b3Jkc2VwYXJhdG9yICgqYSkpCisgICAgICAgICAgICBhKys7Cisg ICAgICAgIH0KKyAgICB9CisKKyAgcmV0dXJuIDA7Cit9CisKK2ludAorZ3J1Yl9pc3dvcmRz ZXBhcmF0b3IgKGludCBjKQoreworICByZXR1cm4gKGdydWJfaXNzcGFjZSAoYykgfHwgYyA9 PSAnLCcgfHwgYyA9PSAnOycgfHwgYyA9PSAnfCcgfHwgYyA9PSAnJicpOworfQorCitpbnQK IGdydWJfaXNzcGFjZSAoaW50IGMpCiB7CiAgIHJldHVybiAoYyA9PSAnXG4nIHx8IGMgPT0g J1xyJyB8fCBjID09ICcgJyB8fCBjID09ICdcdCcpOwo= --------------050507030706030805050405--