a patch for uffi and clsql-oracle unicode problem (sbcl) - continued

"DalHo Park" <[email protected]> Tue, 22 Apr 2008 17:45:04 +0900
Newsgroups gmane.lisp.clsql.general,gmane.lisp.uffi.devel
Message-ID <[email protected]>
------=_Part_3530_12491918.1208853904150
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

i'm trying to improve the patch of yesterday.
and found 'uffi:foreign-string-length' function.
but, the function was somewhat misdefined.
defuned with macro body.
so i simply changed defun to defmacro.
and got following error:
The value 235 is not of type CHARACTER.
   [Condition of type TYPE-ERROR]

foreign-string-lengtgh assumes the foreign-string is :unsigned-char array.
i made a simple patch for that. and changed ugly part of my patch for
clsql-oracle(oracle-sql.lisp).

i've only tested on SBCL 1.0.6 on Ubuntu Gutsy.
and these patches override my previous patches.

Regards,

DalHo.

------=_Part_3530_12491918.1208853904150
Content-Type: text/x-patch; name=strings.patch
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ffc8hq5c
Content-Disposition: attachment; filename=strings.patch

ZGlmZiAtLWdpdCBhL3NyYy9zdHJpbmdzLmxpc3AgYi9zcmMvc3RyaW5ncy5saXNwCmluZGV4IDU0
MzQzNGYuLjBmZWZkZjAgMTAwNjQ0Ci0tLSBhL3NyYy9zdHJpbmdzLmxpc3AKKysrIGIvc3JjL3N0
cmluZ3MubGlzcApAQCAtMTQxLDEyICsxNDEsMTQgQEAgdGhhdCBMVy9DTVUgYXV0b21hdGljYWxs
eSBjb252ZXJ0cyBzdHJpbmdzIGZyb20gYy1jYWxscy4iCiAgIChsZXQgKChzaXplIChnZW5zeW0p
KQogICAgICAgICAoc3RvcmFnZSAoZ2Vuc3ltKSkKICAgICAgICAgKHN0b3JlZC1vYmogKGdlbnN5
bSkpCisJIytzYi11bmljb2RlIChjb252ZXJ0ZWQgKGdlbnN5bSkpCiAgICAgICAgIChpIChnZW5z
eW0pKSkKICAgICBgKGxldCAoKCxzdG9yZWQtb2JqICxvYmopKQogICAgICAgIChldHlwZWNhc2Ug
LHN0b3JlZC1vYmoKICAgICAgICAgIChudWxsCiAgICAgICAgICAgKHNiLWFsaWVuOnNhcC1hbGll
biAoc2Itc3lzOmludC1zYXAgMCkgKCogKHNiLWFsaWVuOnVuc2lnbmVkIDgpKSkpCiAgICAgICAg
ICAoc3RyaW5nCisJICAjLXNiLXVuaWNvZGUKICAgICAgICAgICAobGV0KiAoKCxzaXplIChsZW5n
dGggLHN0b3JlZC1vYmopKQogICAgICAgICAgICAgICAgICAoLHN0b3JhZ2UgKHNiLWFsaWVuOm1h
a2UtYWxpZW4gKHNiLWFsaWVuOnVuc2lnbmVkIDgpICgxKyAsc2l6ZSkpKSkKICAgICAgICAgICAg
IChzZXRxICxzdG9yYWdlIChzYi1hbGllbjpjYXN0ICxzdG9yYWdlICgqIChzYi1hbGllbjp1bnNp
Z25lZCA4KSkpKQpAQCAtMTU3LDcgKzE1OSwyMCBAQCB0aGF0IExXL0NNVSBhdXRvbWF0aWNhbGx5
IGNvbnZlcnRzIHN0cmluZ3MgZnJvbSBjLWNhbGxzLiIKICAgICAgICAgICAgICAgICAoc2V0ZiAo
c2ItYWxpZW46ZGVyZWYgLHN0b3JhZ2UgLGkpCiAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIt
Y29kZSAoY2hhciAsc3RvcmVkLW9iaiAsaSkpKSkKICAgICAgICAgICAgICAgKHNldGYgKHNiLWFs
aWVuOmRlcmVmICxzdG9yYWdlICxzaXplKSAwKSkKLSAgICAgICAgICAgICxzdG9yYWdlKSkpKSkK
KyAgICAgICAgICAgICxzdG9yYWdlKQorCSAgIytzYi11bmljb2RlCisJICAobGV0KiAoKCxjb252
ZXJ0ZWQgKHNiLWltcGw6Om91dHB1dC10by1jLXN0cmluZy91dGYtOCAsc3RvcmVkLW9iaikpCisJ
CSAoLHNpemUgKGxlbmd0aCAsY29udmVydGVkKSkKKwkJICgsc3RvcmFnZSAoc2ItYWxpZW46bWFr
ZS1hbGllbiAoc2ItYWxpZW46dW5zaWduZWQgOCkgLHNpemUpKSkKKwkgICAgKHNldHEgLHN0b3Jh
Z2UgKHNiLWFsaWVuOmNhc3QgLHN0b3JhZ2UgKCogKHNiLWFsaWVuOnVuc2lnbmVkIDgpKSkpCisJ
ICAgIChsb2NhbGx5CisJCShkZWNsYXJlIChvcHRpbWl6ZSAoc3BlZWQgMykgKHNhZmV0eSAwKSkp
CisJICAgICAgKGRvdGltZXMgKCxpICxzaXplKQorCQkoZGVjbGFyZSAoZml4bnVtICxpKSkKKwkJ
KHNldGYgKHNiLWFsaWVuOmRlcmVmICxzdG9yYWdlICxpKQorCQkgICAgICAoYXJlZiAsY29udmVy
dGVkICxpKSkpKQorCSAgICAsc3RvcmFnZSkKKwkgICkpKSkKICAgIysob3Igb3Blbm1jbCBkaWdp
dG9vbCkKICAgKGxldCAoKHN0b3JlZC1vYmogKGdlbnN5bSkpKQogICAgIGAobGV0ICgoLHN0b3Jl
ZC1vYmogLG9iaikpCkBAIC0yNjcsMTMgKzI4MiwxOCBAQCB0aGF0IExXL0NNVSBhdXRvbWF0aWNh
bGx5IGNvbnZlcnRzIHN0cmluZ3MgZnJvbSBjLWNhbGxzLiIKICAgYChuZXctcHRyICxzaXplKQog
ICApCiAKLShkZWZ1biBmb3JlaWduLXN0cmluZy1sZW5ndGggKGZvcmVpZ24tc3RyaW5nKQorKGRl
Zm1hY3JvIGZvcmVpZ24tc3RyaW5nLWxlbmd0aCAoZm9yZWlnbi1zdHJpbmcpCiAgICMrYWxsZWdy
byBgKGZmOmZvcmVpZ24tc3RybGVuICxmb3JlaWduLXN0cmluZykKLSAgIy1hbGxlZ3JvCisgICMr
KGFuZCAobm90IGFsbGVncm8pIChub3Qgc2ItdW5pY29kZSkpCiAgIGAobG9vcCB3aXRoIHNpemUg
PSAwCi0gICAgdW50aWwgKGNoYXI9IChkZXJlZi1hcnJheSAsZm9yZWlnbi1zdHJpbmcgJyg6YXJy
YXkgOnVuc2lnbmVkLWNoYXIpIHNpemUpICNcTnVsbCkKLSAgICBkbyAoaW5jZiBzaXplKQotICAg
IGZpbmFsbHkgcmV0dXJuIHNpemUpKQorICAgICAgdW50aWwgKGNoYXI9IChkZXJlZi1hcnJheSAs
Zm9yZWlnbi1zdHJpbmcgJyg6YXJyYXkgOnVuc2lnbmVkLWNoYXIpIHNpemUpICNcTnVsbCkKKyAg
ICAgIGRvIChpbmNmIHNpemUpCisgICAgICBmaW5hbGx5IChyZXR1cm4gc2l6ZSkpCisgICMrKGFu
ZCBzYmNsIHNiLXVuaWNvZGUpCisgIGAobG9vcCB3aXRoIHNpemUgPSAwCisgICAgICB1bnRpbCAo
PSAoZGVyZWYtYXJyYXkgLGZvcmVpZ24tc3RyaW5nICcoOmFycmF5IDp1dGYtOCkgc2l6ZSkgMCkK
KyAgICAgIGRvIChpbmNmIHNpemUpCisgICAgICBmaW5hbGx5IChyZXR1cm4gc2l6ZSkpKQogCiAK
IChkZWZtYWNybyB3aXRoLWZvcmVpZ24tc3RyaW5nICgoZm9yZWlnbi1zdHJpbmcgbGlzcC1zdHJp
bmcpICZib2R5IGJvZHkpCg==
------=_Part_3530_12491918.1208853904150
Content-Type: text/x-patch; name=oracle-sql.patch
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ffc8i06z
Content-Disposition: attachment; filename=oracle-sql.patch

ZGlmZiAtLWdpdCBhL2RiLW9yYWNsZS9vcmFjbGUtc3FsLmxpc3AgYi9kYi1vcmFjbGUvb3JhY2xl
LXNxbC5saXNwCmluZGV4IDg3ZDExMzcuLjY3NTM3YmQgMTAwNjQ0Ci0tLSBhL2RiLW9yYWNsZS9v
cmFjbGUtc3FsLmxpc3AKKysrIGIvZGItb3JhY2xlL29yYWNsZS1zcWwubGlzcApAQCAtNTEzLDcg
KzUxMyw3IEBAIHRoZSBsZW5ndGggb2YgdGhhdCBmb3JtYXQuIikKICAgICAgICAgICAgICAgICAg
KG9jaS1zdG10LXByZXBhcmUgKGRlcmVmLXZwIHN0bXRocCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGRlcmVmLXZwIGVycmhwKQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjLXN0bXQtc3RyaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChsZW5ndGggc3FsLXN0bXQtc3RyaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAodWZmaTpmb3JlaWduLXN0cmluZy1sZW5ndGggYy1zdG10LXN0cmluZykKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK29jaS1udHYtc3ludGF4KyArb2NpLWRlZmF1
bHQrIDpkYXRhYmFzZSBkYikKICAgICAgICAgICAgICAgICAgKG9jaS1hdHRyLWdldCAoZGVyZWYt
dnAgc3RtdGhwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtvY2ktaHR5cGUtc3Rt
dCsK
------=_Part_3530_12491918.1208853904150
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
CLSQL mailing list
[email protected]
http://lists.b9.com/cgi-bin/mailman/listinfo/clsql

------=_Part_3530_12491918.1208853904150--