[Patches] slightly expanded Unicode supported Py_BuildValue

Brian Hooper brian@garage.co.jp
Tue, 02 May 2000 20:34:41 GMT


This is a multi-part message in MIME format.

------=_NextPart_000_4ecd2596_4c79ecf$266a925d
Content-Type: text/plain; format=flowed

OK, here's the patch, and a corresponding documentation patch.

Added 'u' and 'u#' tags for PyArg_ParseTuple - these turn a
PyUnicodeObject argument into a Py_UNICODE * buffer, or a Py_UNICODE *
buffer plus a length with the '#'.  Also added an analog to 'U'
for Py_BuildValue, and documented each in ext.tex.

--Brian

I confirm that, to the best of my knowledge and belief, this
contribution is free of any claims of third parties under
copyright, patent or other rights or interests ("claims").  To
the extent that I have any such claims, I hereby grant to CNRI a
nonexclusive, irrevocable, royalty-free, worldwide license to
reproduce, distribute, perform and/or display publicly, prepare
derivative versions, and otherwise use this contribution as part
of the Python software and its related documentation, or any
derivative versions thereof, at no cost to CNRI or its licensed
users, and to authorize others to do so.

I acknowledge that CNRI may, at its sole discretion, decide
whether or not to incorporate this contribution in the Python
software and its related documentation.  I further grant CNRI
permission to use my name and other identifying information
provided to CNRI by me for use in connection with the Python
software and its related documentation.




________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

------=_NextPart_000_4ecd2596_4c79ecf$266a925d
Content-Type: application/octet-stream; name="getargs.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="getargs.patch"

ZGlmZiAtYyBQeXRob24ub3JpZy9nZXRhcmdzLmMgUHl0aG9uL2dldGFyZ3Mu
YwoqKiogUHl0aG9uLm9yaWcvZ2V0YXJncy5jCVdlZCBNYXkgIDMgMDU6MTA6
MTMgMjAwMAotLS0gUHl0aG9uL2dldGFyZ3MuYwlXZWQgTWF5ICAzIDA0OjE4
OjIzIDIwMDAKKioqKioqKioqKioqKioqCioqKiA3NzcsNzgyICoqKioKLS0t
IDc3Nyw4MTQgLS0tLQogIAkJCWJyZWFrOwogIAkJfQogIAorIAljYXNlICd1
JzogLyogcmF3IHVuaWNvZGUgYnVmZmVyIChQeV9VTklDT0RFICopICovCisg
CQl7CisgCQkJaWYgKCpmb3JtYXQgPT0gJyMnKSB7IC8qIGFueSBidWZmZXIt
bGlrZSBvYmplY3QgKi8KKyAJCQkgICAgICAgIHZvaWQgKipwID0gKHZvaWQg
KiopdmFfYXJnKCpwX3ZhLCBjaGFyICoqKTsKKyAJCQkgICAgICAgIFB5QnVm
ZmVyUHJvY3MgKnBiID0gYXJnLT5vYl90eXBlLT50cF9hc19idWZmZXI7Cisg
CQkJCWludCAqcSA9IHZhX2FyZygqcF92YSwgaW50ICopOworIAkJCQlpbnQg
Y291bnQ7CisgCisgCQkJCWlmICggcGIgPT0gTlVMTCB8fAorIAkJCQkgICAg
IHBiLT5iZl9nZXRyZWFkYnVmZmVyID09IE5VTEwgfHwKKyAJCQkJICAgICBw
Yi0+YmZfZ2V0c2VnY291bnQgPT0gTlVMTCApCisgCQkJCSAgcmV0dXJuICJy
ZWFkLW9ubHkgYnVmZmVyIjsKKyAJCQkJaWYgKCAoKnBiLT5iZl9nZXRzZWdj
b3VudCkoYXJnLCBOVUxMKSAhPSAxICkKKyAJCQkJICByZXR1cm4gInNpbmds
ZS1zZWdtZW50IHJlYWQtb25seSBidWZmZXIiOworIAkJCQlpZiAoIChjb3Vu
dCA9CisgCQkJCSAgICAgICgqcGItPmJmX2dldHJlYWRidWZmZXIpKGFyZywg
MCwgcCkpIDwgMCApCisgCQkJCSAgcmV0dXJuICIodW5zcGVjaWZpZWQpIjsK
KyAJCQkJLyogYnVmZmVyIGludGVyZmFjZSByZXR1cm5zIGJ5dGVzLCB3ZSB3
YW50CisgCQkJCSAgIGxlbmd0aCBpbiBjaGFyYWN0ZXJzICovCisgCQkJCSpx
ID0gY291bnQvKHNpemVvZihQeV9VTklDT0RFKSk7IAorIAkJCQlmb3JtYXQr
KzsKKyAJCQl9IGVsc2UgeworIAkJCSAgICAgICAgUHlfVU5JQ09ERSAqKnAg
PSB2YV9hcmcoKnBfdmEsIFB5X1VOSUNPREUgKiopOworIAkJCQorIAkJCSAg
ICAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhhcmcpKQorIAkJCQkgICAgKnAg
PSBQeVVuaWNvZGVfQVNfVU5JQ09ERShhcmcpOworIAkJCQllbHNlCisgCQkJ
CSAgcmV0dXJuICJ1bmljb2RlIjsKKyAJCQl9CisgCQkJYnJlYWs7CisgCQl9
CisgCiAgCWNhc2UgJ1MnOiAvKiBzdHJpbmcgb2JqZWN0ICovCiAgCQl7CiAg
CQkJUHlPYmplY3QgKipwID0gdmFfYXJnKCpwX3ZhLCBQeU9iamVjdCAqKik7
CmRpZmYgLWMgUHl0aG9uLm9yaWcvbW9kc3VwcG9ydC5jIFB5dGhvbi9tb2Rz
dXBwb3J0LmMKKioqIFB5dGhvbi5vcmlnL21vZHN1cHBvcnQuYwlXZWQgTWF5
ICAzIDA1OjEwOjEzIDIwMDAKLS0tIFB5dGhvbi9tb2RzdXBwb3J0LmMJV2Vk
IE1heSAgMyAwNDoxODoyMyAyMDAwCioqKioqKioqKioqKioqKgoqKiogMzY1
LDM3MCAqKioqCi0tLSAzNjUsMzcxIC0tLS0KICAJCWNhc2UgJ04nOgogIAkJ
Y2FzZSAnUyc6CiAgCQljYXNlICdPJzoKKyAJCWNhc2UgJ1UnOgogIAkJaWYg
KCoqcF9mb3JtYXQgPT0gJyYnKSB7CiAgCQkJdHlwZWRlZiBQeU9iamVjdCAq
KCpjb252ZXJ0ZXIpIFB5X1BST1RPKCh2b2lkICopKTsKICAJCQljb252ZXJ0
ZXIgZnVuYyA9IHZhX2FyZygqcF92YSwgY29udmVydGVyKTsK


------=_NextPart_000_4ecd2596_4c79ecf$266a925d
Content-Type: application/octet-stream; name="getargsdoc.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="getargsdoc.patch"

KioqIERvYy5vcmlnL2V4dC9leHQudGV4CVRodSBBcHIgMjcgMDQ6NTA6MDAg
MjAwMAotLS0gRG9jL2V4dC9leHQudGV4CVdlZCBNYXkgIDMgMDQ6MDM6NTQg
MjAwMAoqKioqKioqKioqKioqKioKKioqIDY5MSw2OTYgKioqKgotLS0gNjkx
LDcwNyAtLS0tCiAgXGl0ZW1bXHNhbXB7elwjfSAoc3RyaW5nIG9yIFxjb2Rl
e05vbmV9KSB7W2NoYXIgKiwgaW50XX1dCiAgVGhpcyBpcyB0byBcc2FtcHtz
XCN9IGFzIFxzYW1we3p9IGlzIHRvIFxzYW1we3N9LgogIAorIFxpdGVtW1xz
YW1we3V9IChVbmljb2RlIHN0cmluZykge1tQeV9VTklDT0RFICpdfV0KKyBD
b252ZXJ0IGEgUHl0aG9uIFVuaWNvZGUgb2JqZWN0IHRvIGEgQyBwb2ludGVy
IHRvIGEgbnVsbC10ZXJtaW5hdGVkCisgYnVmZmVyIG9mIFVuaWNvZGUgKFVD
Uy0yKSBkYXRhLiAgQXMgd2l0aCBcc2FtcHtzfSwgdGhlcmUgaXMgbm8gbmVl
ZAorIHRvIHByb3ZpZGUgc3RvcmFnZSBmb3IgdGhlIFVuaWNvZGUgZGF0YSBi
dWZmZXI7IGEgcG9pbnRlciB0byB0aGUKKyBleGlzdGluZyBVbmljb2RlIGRh
dGEgaXMgc3RvcmVkIGludG8gdGhlIFB5X1VOSUNPREUgcG9pbnRlciB2YXJp
YWJsZSB3aG9zZQorIGFkZHJlc3MgeW91IHBhc3MuICAKKyAKKyBcaXRlbVtc
c2FtcHt1XCN9IChVbmljb2RlIHN0cmluZykge1tQeV9VTklDT0RFICosIGlu
dF19XQorIFRoaXMgdmFyaWFudCBvbiBcc2FtcHt1fSBzdG9yZXMgaW50byB0
d28gQyB2YXJpYWJsZXMsIHRoZSBmaXJzdCBvbmUKKyBhIHBvaW50ZXIgdG8g
YSBVbmljb2RlIGRhdGEgYnVmZmVyLCB0aGUgc2Vjb25kIG9uZSBpdHMgbGVu
Z3RoLgorIAogIFxpdGVtW1xzYW1we2J9IChpbnRlZ2VyKSB7W2NoYXJdfV0K
ICBDb252ZXJ0IGEgUHl0aG9uIGludGVnZXIgdG8gYSB0aW55IGludCwgc3Rv
cmVkIGluIGEgQyBcY3R5cGV7Y2hhcn0uCiAgCioqKioqKioqKioqKioqKgoq
KiogNzUxLDc1NiAqKioqCi0tLSA3NjIsNzcyIC0tLS0KICBSYWlzZXMgXGV4
Y2VwdGlvbntUeXBlRXJyb3J9IGlmIHRoZSBvYmplY3QgaXMgbm90IGEgc3Ry
aW5nIG9iamVjdC4KICBUaGUgQyB2YXJpYWJsZSBtYXkgYWxzbyBiZSBkZWNs
YXJlZCBhcyBcY3R5cGV7UHlPYmplY3QgKn0uCiAgCisgXGl0ZW1bXHNhbXB7
VX0gKFVuaWNvZGUgc3RyaW5nKSB7W1B5VW5pY29kZU9iamVjdCAqXX1dCisg
TGlrZSBcc2FtcHtPfSBidXQgcmVxdWlyZXMgdGhhdCB0aGUgUHl0aG9uIG9i
amVjdCBpcyBhIFVuaWNvZGUgb2JqZWN0LgorIFJhaXNlcyBcZXhjZXB0aW9u
e1R5cGVFcnJvcn0gaWYgdGhlIG9iamVjdCBpcyBub3QgYSBVbmljb2RlIG9i
amVjdC4KKyBUaGUgQyB2YXJpYWJsZSBtYXkgYWxzbyBiZSBkZWNsYXJlZCBh
cyBcY3R5cGV7UHlPYmplY3QgKn0uCisgCiAgXGl0ZW1bXHNhbXB7dFwjfSAo
cmVhZC1vbmx5IGNoYXJhY3RlciBidWZmZXIpIHtbY2hhciAqLCBpbnRdfV0K
ICBMaWtlIFxzYW1we3NcI30sIGJ1dCBhY2NlcHRzIGFueSBvYmplY3Qgd2hp
Y2ggaW1wbGVtZW50cyB0aGUgcmVhZC1vbmx5IAogIGJ1ZmZlciBpbnRlcmZh
Y2UuICBUaGUgXGN0eXBle2NoYXIgKn0gdmFyaWFibGUgaXMgc2V0IHRvIHBv
aW50IHRvIHRoZQoqKioqKioqKioqKioqKioKKioqIDEwMDYsMTAxMSAqKioq
Ci0tLSAxMDIyLDEwMzYgLS0tLQogIFxpdGVtW1xzYW1we3pcI30gKHN0cmlu
ZyBvciBcY29kZXtOb25lfSkge1tjaGFyICosIGludF19XQogIFNhbWUgYXMg
XHNhbXB7c1wjfS4KICAKKyBcaXRlbVtcc2FtcHt1fSAoVW5pY29kZSBzdHJp
bmcpIHtbUHlfVU5JQ09ERSAqXX1dCisgQ29udmVydCBhIG51bGwtdGVybWlu
YXRlZCBidWZmZXIgb2YgVW5pY29kZSAoVUNTLTIpIGRhdGEgdG8gYSBQeXRo
b24gVW5pY29kZSAKKyBvYmplY3QuIElmIHRoZSBVbmljb2RlIGJ1ZmZlciBw
b2ludGVyIGlzIFxOVUxMe30sIFxjb2Rle05vbmV9IGlzIHJldHVybmVkLgor
IAorIFxpdGVtW1xzYW1we3VcI30gKFVuaWNvZGUgc3RyaW5nKSB7W1B5X1VO
SUNPREUgKiwgaW50XX1dCisgQ29udmVydCBhIFVuaWNvZGUgKFVDUy0yKSBk
YXRhIGJ1ZmZlciBhbmQgaXRzIGxlbmd0aCB0byBhIFB5dGhvbiBVbmljb2Rl
IAorIG9iamVjdC4gSWYgdGhlIFVuaWNvZGUgYnVmZmVyIHBvaW50ZXIgaXMg
XE5VTEx7fSwgdGhlIGxlbmd0aCBpcyBpZ25vcmVkIGFuZCAKKyBcY29kZXtO
b25lfSBpcyByZXR1cm5lZC4KKyAKICBcaXRlbVtcc2FtcHtpfSAoaW50ZWdl
cikge1tpbnRdfV0KICBDb252ZXJ0IGEgcGxhaW4gQyBcY3R5cGV7aW50fSB0
byBhIFB5dGhvbiBpbnRlZ2VyIG9iamVjdC4KICAKKioqKioqKioqKioqKioq
CioqKiAxMDM4LDEwNDMgKioqKgotLS0gMTA2MywxMDcxIC0tLS0KICBcY2Rh
dGF7UHlFeGNfU3lzdGVtRXJyb3J9IGlzIHNldC4KICAKICBcaXRlbVtcc2Ft
cHtTfSAob2JqZWN0KSB7W1B5T2JqZWN0ICpdfV0KKyBTYW1lIGFzIFxzYW1w
e099LgorIAorIFxpdGVtW1xzYW1we1V9IChvYmplY3QpIHtbUHlPYmplY3Qg
Kl19XQogIFNhbWUgYXMgXHNhbXB7T30uCiAgCiAgXGl0ZW1bXHNhbXB7Tn0g
KG9iamVjdCkge1tQeU9iamVjdCAqXX1dCg==


------=_NextPart_000_4ecd2596_4c79ecf$266a925d--