r9396: add ensure-char-storage function, new tests
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 18 May 2004 22:38:52 +0000 (22:38 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 18 May 2004 22:38:52 +0000 (22:38 +0000)
debian/changelog
doc/catalog-suse.xml
doc/catalog-suse90.xml [new file with mode: 0644]
doc/html.tar.gz
doc/uffi.pdf
src/objects.lisp
src/package.lisp
src/strings.lisp
tests/pointers.lisp
tests/union.lisp

index e3eea1306291b09a9cace18e58238f1e8ccd242b..31456308df261906a5ebd0ca3115faaa95f1c6fb 100644 (file)
@@ -1,3 +1,9 @@
+cl-uffi (1.4.18-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Tue, 18 May 2004 15:40:58 -0600
+
 cl-uffi (1.4.17-1) unstable; urgency=low
 
   * New upstream
index 9c772d6132c4cd8645d8cb6ab296e801ed2c2953..80005a3e85e5b184e56cc88ea7c9cac0f1ca9e76 100644 (file)
@@ -6,7 +6,7 @@
 <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
 
   <!-- The directory DTD and stylesheet files are installed under -->
-  <group  xml:base="file:///usr/share/sgml/" >
+  <group  xml:base="file:///usr/share/xml/" >
 
     <!-- Resolve DTD URL system ID to local file -->
     <rewriteSystem
     <!-- To resolve short stylesheet references -->
     <uri
         name="docbook_html.xsl"
-        uri="docbook/docbook-xsl/xhtml/docbook.xsl" />
+        uri="docbook/stylesheet/nwalsh/current/xhtml/docbook.xsl" />
     <uri 
         name="docbook_chunk.xsl"
-        uri="docbook/docbook-xsl/xhtml/chunk.xsl" />
+        uri="docbook/stylesheet/nwalsh/current/xhtml/chunk.xsl" />
     <uri
         name="docbook_fo.xsl"
-        uri="docbook/docbook-xsl/fo/docbook.xsl" />
+        uri="docbook/stylesheet/nwalsh/current/fo/docbook.xsl" />
 
   </group>
 
diff --git a/doc/catalog-suse90.xml b/doc/catalog-suse90.xml
new file mode 100644 (file)
index 0000000..9c772d6
--- /dev/null
@@ -0,0 +1,43 @@
+<?xml version="1.0" ?>
+<!DOCTYPE catalog
+   PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
+   "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+
+  <!-- The directory DTD and stylesheet files are installed under -->
+  <group  xml:base="file:///usr/share/sgml/" >
+
+    <!-- Resolve DTD URL system ID to local file -->
+    <rewriteSystem
+        systemIdStartString="http://www.oasis-open.org/docbook/xml/4.2/"
+        rewritePrefix="db42xml/" />
+    <!-- Resolve stylesheet URL to local file -->
+    <rewriteURI
+        uriStartString="http://docbook.sourceforge.net/release/xsl/current/"
+        rewritePrefix="docbook/docbook-xsl/" />
+
+    <!-- Resolve DTD PUBLIC identifiers -->
+    <nextCatalog  catalog="db42xml/catalog.xml" />
+
+    <!-- To resolve simple DTD SYSTEM identifiers. -->
+    <!-- Note: this does not work with Java resolver -->
+    <!--   classes in Saxon or Xalan -->
+    <system
+         systemId="docbook.dtd"
+         uri="db42xml/docbookx.dtd" />
+
+    <!-- To resolve short stylesheet references -->
+    <uri
+        name="docbook_html.xsl"
+        uri="docbook/docbook-xsl/xhtml/docbook.xsl" />
+    <uri 
+        name="docbook_chunk.xsl"
+        uri="docbook/docbook-xsl/xhtml/chunk.xsl" />
+    <uri
+        name="docbook_fo.xsl"
+        uri="docbook/docbook-xsl/fo/docbook.xsl" />
+
+  </group>
+
+</catalog>
index 5716b4d34c823d9b7bc2e93d85ffa19e5c4ec3aa..81a45b7c9bd5b2b83e3efa6833975790ffe7625f 100644 (file)
Binary files a/doc/html.tar.gz and b/doc/html.tar.gz differ
index 41d99813711f8b21eca127a408da2741463afb6d..b2a93df3539eee4a995820b7265c661aa3bd68d0 100644 (file)
@@ -20,10 +20,10 @@ endobj
 >>
 endobj
 7 0 obj
-<< /Length 971 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 967 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau0B95iQ=%)1n+kh#rrlA'1'fW"8(U0G6"kACCQ*>D^tKK<!X.ESl&5P^F49'p"L'EJ8u&jMPO7*:k\i-^-,O!"MgCuBkRhucdTI,G5NoK_Dq?kE)U?%AOp&!P,[.JO(ppY%.QHgNtj#`cqMfB8aLL`e5nVdL>e#oo"8+.QT>BMS7t&b)i'2H1\Z*c&Qe"o:L8PZ8i'[<-EoNI9%u@8eA-(@_B9KFH!<?Z$$!k/qp5#*Ei2_"3/OrX4_M"d,ih7\-AD@i0nkPJgrB6lNu;)j#/ZW/.(VUDP39qE*m04CB/H3/V".--i*$5tpD[/<,f+8IJ".A&6Ae2M*DI/./9/Qa$Y)%gE1kl/C\Z&IU'7jV;ln&.Fa.S5<p8KtpC48afB2gKLHbqogtZ<%:23.n+9TY4\:mgTo`tSS]D*\JmWnfkNg?Z>D+X'B(u4EKmWJ!TC@0]<=F_f]kj9BDHD6!*0=Eh9t7*gL3p`*JSOG@lko/P+!<FZeFX_&Nd-7K+EC*1upJKAm;$p=:o=cI>G169hQu!bo&C9WTDu;gaKc9)so/JW=9X:3nO;\e\3cX%97JE0lH%k[`3pYk(Ho3P#^r@XO#eGVZQ1Y0o2L;UN%J;;o:-"Y$#FVI7jL;3_!a42$$p`::QQBFbb-,=UfL^`9M4ZXhIB/gf2ZN-*<6^(oZ!YP\&r+\(fd-A9D]>Tg0-<Drf>dHnHRj6fS0W0)L[Y#LbIToP5*59Sn\5,_`Hn]XlYB4RT?f)c;\`a49XA<Orf&-OVJs\lkTf@Ir*L2_=8i2]DS,KDq1ZjbA[@q-$Ah^^QQ6q*/R?W-@sld7eMY)pmMjV_%##=3J3#@XmN;@cl</k+D::[G#7CSDN;WdSfR^Q!*Vo?4a^i@J,T.;+Jfnh9e:8h3OnS%O%1hXBJh:kIf<JMqi=C/fjk-51c7L1o,&\DTYTFZm5pE%DE6'e&.0MIO4jar<)F'@o`~>
+Gau0B95iQ=%)1n+kh#rrlA'1'fW"8(U0G6"kACCQ*>D^tKK<!X.ESl&5P^F49'p"L'EJ8u&jMPO7*:k\i-^-,O!"MgCuBkRhucdTI,G5NoK_Dq?kE)U?%AOp&!P,[.JO(ppY%.QHgNtj#`cqMfB8aLL`e5nVdL>e#oo"8+.QT>BMS7t&b)i'2H1\Z*c&Qe"o:L8PZ8i'[<-EoNI9%u@8eA-(@_B9KFH!<?Z$$!k/qp5#*Ei2_"3/OrX4_M"d,ih7\-AD@i0nkPJgrB6lNu;)j#/ZW/.(VUDP39qE*m04CB/H3/V".--i*$5tpD[/<,f+8IJ".A&6Ae2M*DI/./9/Qa$Y)%gE1kl/C\Z&IU'7jV;ln&.Fa.S5<p8KtpC48afB2gKLHbqogtZ<%:23.n+9TY4\:mgTo`tSS]D*\JmWnfkNg?Z>D+X'B(u4EKmWJ!TC@0]<=F_f]kj9BDHD6!*0=Eh9t7*gL3p`*JSOG@lko/P+!<FZeFX_&Nd-7K+EC*1upJKAm;$p=:o=cI>G169hQu!bo&C9WTDu;gaKc9)so/JW=9X:3nO;\e\3cX%97JE0lH%k[`3pYk(Ho3P#^r@XO#eGVZQ1Y0o2L;UN%J;;o:-"Y$#FVI7jL;3_!a42$$p`::QQBFbb-,=UfL^`9M4ZXhIB/gf2ZN-*<6^(oZ!YP\&r+\(fd-A9D]>Tg0-<Drf>dHnHRj6fS0W0)L[Y#LbIToP5*59Sn\5,_`Hn]XmL5'H9o26H@SoP#\q'3%#(bT"5f1kX"glW&H9n:,Nse]gMdbb2nA9-i"YerkJr/>PUK4-E).NhU,#9W>j1AI&AOYRod_B,?fTJ;.=.h6.V\#4geI*.\(tJf$[IcI$Ik)(g[cc*b"_udmZdMPMOVIfA/?]_@@`UeU1P)@HY;Q08eP)nh(s\DEcI::G\ebRr6/:p9Z(NQjpb<0%7^tZ$mSepAG(dk$Vs~>
 endstream
 endobj
 8 0 obj
@@ -2636,337 +2636,337 @@ endobj
 xref
 0 332
 0000000000 65535 f 
-0000086193 00000 n 
-0000086736 00000 n 
-0000086829 00000 n 
+0000086189 00000 n 
+0000086732 00000 n 
+0000086825 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000000352 00000 n 
 0000000458 00000 n 
-0000001520 00000 n 
-0000001626 00000 n 
-0000001787 00000 n 
-0000001894 00000 n 
-0000003922 00000 n 
-0000004045 00000 n 
-0000004446 00000 n 
-0000086982 00000 n 
-0000004582 00000 n 
-0000087048 00000 n 
-0000004718 00000 n 
-0000087114 00000 n 
-0000004854 00000 n 
-0000087182 00000 n 
-0000004990 00000 n 
-0000087250 00000 n 
-0000005126 00000 n 
-0000087318 00000 n 
-0000005262 00000 n 
-0000087386 00000 n 
-0000005398 00000 n 
-0000087454 00000 n 
-0000005534 00000 n 
-0000087520 00000 n 
-0000005670 00000 n 
-0000087586 00000 n 
-0000005806 00000 n 
-0000087654 00000 n 
-0000005942 00000 n 
-0000087722 00000 n 
-0000006078 00000 n 
-0000087790 00000 n 
-0000006214 00000 n 
-0000087858 00000 n 
-0000006350 00000 n 
-0000087926 00000 n 
-0000006486 00000 n 
-0000087993 00000 n 
-0000006622 00000 n 
-0000088061 00000 n 
-0000006758 00000 n 
-0000088129 00000 n 
-0000006894 00000 n 
-0000088188 00000 n 
-0000007030 00000 n 
-0000088254 00000 n 
-0000007166 00000 n 
-0000088322 00000 n 
-0000007302 00000 n 
-0000088388 00000 n 
-0000007438 00000 n 
-0000088454 00000 n 
-0000007574 00000 n 
-0000088520 00000 n 
-0000007710 00000 n 
-0000088588 00000 n 
-0000007846 00000 n 
-0000088654 00000 n 
-0000007982 00000 n 
-0000088720 00000 n 
-0000008118 00000 n 
-0000088786 00000 n 
-0000008254 00000 n 
-0000088852 00000 n 
-0000008389 00000 n 
-0000088918 00000 n 
-0000008525 00000 n 
-0000088984 00000 n 
-0000008661 00000 n 
-0000089050 00000 n 
-0000008796 00000 n 
-0000089118 00000 n 
-0000008932 00000 n 
-0000089184 00000 n 
-0000009068 00000 n 
-0000089250 00000 n 
-0000009204 00000 n 
-0000089316 00000 n 
-0000009340 00000 n 
-0000089382 00000 n 
-0000009476 00000 n 
-0000089448 00000 n 
-0000009611 00000 n 
-0000089514 00000 n 
-0000009747 00000 n 
-0000089580 00000 n 
-0000009883 00000 n 
-0000089646 00000 n 
-0000010019 00000 n 
-0000089712 00000 n 
-0000010155 00000 n 
-0000089778 00000 n 
-0000010291 00000 n 
-0000089844 00000 n 
-0000010429 00000 n 
-0000089911 00000 n 
-0000010567 00000 n 
-0000089978 00000 n 
-0000010705 00000 n 
-0000090047 00000 n 
-0000010843 00000 n 
-0000090114 00000 n 
-0000010981 00000 n 
-0000090181 00000 n 
-0000011119 00000 n 
-0000090248 00000 n 
-0000011257 00000 n 
-0000090315 00000 n 
-0000011394 00000 n 
-0000090382 00000 n 
-0000011530 00000 n 
-0000090449 00000 n 
-0000011666 00000 n 
-0000012265 00000 n 
-0000012391 00000 n 
-0000012476 00000 n 
-0000090516 00000 n 
-0000012610 00000 n 
-0000090583 00000 n 
-0000012744 00000 n 
-0000090650 00000 n 
-0000012878 00000 n 
-0000090717 00000 n 
-0000013012 00000 n 
-0000090784 00000 n 
-0000013146 00000 n 
-0000090851 00000 n 
-0000013280 00000 n 
-0000090920 00000 n 
-0000013414 00000 n 
-0000090989 00000 n 
-0000013548 00000 n 
-0000014206 00000 n 
-0000014316 00000 n 
-0000016365 00000 n 
-0000016475 00000 n 
-0000017651 00000 n 
-0000017761 00000 n 
-0000020167 00000 n 
-0000020277 00000 n 
-0000020735 00000 n 
-0000020845 00000 n 
-0000021401 00000 n 
-0000021511 00000 n 
-0000022407 00000 n 
-0000022517 00000 n 
-0000023799 00000 n 
-0000023909 00000 n 
-0000024957 00000 n 
-0000025067 00000 n 
-0000025887 00000 n 
-0000025997 00000 n 
-0000027186 00000 n 
-0000027296 00000 n 
-0000027676 00000 n 
-0000027786 00000 n 
-0000029576 00000 n 
-0000029686 00000 n 
-0000030007 00000 n 
-0000030117 00000 n 
-0000031252 00000 n 
-0000031362 00000 n 
-0000032303 00000 n 
-0000032413 00000 n 
-0000033318 00000 n 
-0000033428 00000 n 
-0000034188 00000 n 
-0000034298 00000 n 
-0000035499 00000 n 
-0000035609 00000 n 
-0000035934 00000 n 
-0000036044 00000 n 
-0000037022 00000 n 
-0000037132 00000 n 
-0000037526 00000 n 
-0000037636 00000 n 
-0000038685 00000 n 
-0000038795 00000 n 
-0000039479 00000 n 
-0000039589 00000 n 
-0000040941 00000 n 
-0000041051 00000 n 
-0000041967 00000 n 
-0000042077 00000 n 
-0000042775 00000 n 
-0000042885 00000 n 
-0000044005 00000 n 
-0000044115 00000 n 
-0000044440 00000 n 
-0000044550 00000 n 
-0000045719 00000 n 
-0000045829 00000 n 
-0000046928 00000 n 
-0000047038 00000 n 
-0000047818 00000 n 
-0000047928 00000 n 
-0000048672 00000 n 
-0000048782 00000 n 
-0000049297 00000 n 
-0000049407 00000 n 
-0000051049 00000 n 
-0000051159 00000 n 
-0000051500 00000 n 
-0000051610 00000 n 
-0000053046 00000 n 
-0000053156 00000 n 
-0000053847 00000 n 
-0000053957 00000 n 
-0000056049 00000 n 
-0000056159 00000 n 
-0000056528 00000 n 
-0000056638 00000 n 
-0000057442 00000 n 
-0000057552 00000 n 
-0000058360 00000 n 
-0000058470 00000 n 
-0000059211 00000 n 
-0000059321 00000 n 
-0000060450 00000 n 
-0000060560 00000 n 
-0000060828 00000 n 
-0000060938 00000 n 
-0000062017 00000 n 
-0000062127 00000 n 
-0000062857 00000 n 
-0000062967 00000 n 
-0000063948 00000 n 
-0000064058 00000 n 
-0000064349 00000 n 
-0000064459 00000 n 
-0000065924 00000 n 
-0000066034 00000 n 
-0000066359 00000 n 
-0000066469 00000 n 
-0000068078 00000 n 
-0000068188 00000 n 
-0000068521 00000 n 
-0000068631 00000 n 
-0000070017 00000 n 
-0000070127 00000 n 
-0000070402 00000 n 
-0000070512 00000 n 
-0000071628 00000 n 
-0000071754 00000 n 
-0000071799 00000 n 
-0000071970 00000 n 
-0000072164 00000 n 
-0000072384 00000 n 
-0000072763 00000 n 
-0000091056 00000 n 
-0000091110 00000 n 
-0000072873 00000 n 
-0000091176 00000 n 
-0000073077 00000 n 
-0000073278 00000 n 
-0000073420 00000 n 
-0000073698 00000 n 
-0000073825 00000 n 
-0000073985 00000 n 
-0000074234 00000 n 
-0000074397 00000 n 
-0000074530 00000 n 
-0000074675 00000 n 
-0000074982 00000 n 
-0000075281 00000 n 
-0000075420 00000 n 
-0000075574 00000 n 
-0000075689 00000 n 
-0000076025 00000 n 
-0000076305 00000 n 
-0000076450 00000 n 
-0000076731 00000 n 
-0000091242 00000 n 
-0000076945 00000 n 
-0000077079 00000 n 
-0000077211 00000 n 
-0000077442 00000 n 
-0000077598 00000 n 
-0000077792 00000 n 
-0000077941 00000 n 
-0000078172 00000 n 
-0000078304 00000 n 
-0000078463 00000 n 
-0000078645 00000 n 
-0000078839 00000 n 
-0000079039 00000 n 
-0000079204 00000 n 
-0000079342 00000 n 
-0000079527 00000 n 
-0000079748 00000 n 
-0000079960 00000 n 
-0000080172 00000 n 
-0000080389 00000 n 
-0000080578 00000 n 
-0000080755 00000 n 
-0000080979 00000 n 
-0000081191 00000 n 
-0000081391 00000 n 
-0000081573 00000 n 
-0000081801 00000 n 
-0000082002 00000 n 
-0000082176 00000 n 
-0000082361 00000 n 
-0000082565 00000 n 
-0000082772 00000 n 
-0000082944 00000 n 
-0000083116 00000 n 
-0000083376 00000 n 
-0000083624 00000 n 
-0000083846 00000 n 
-0000084112 00000 n 
-0000084269 00000 n 
-0000084488 00000 n 
-0000084692 00000 n 
-0000084978 00000 n 
-0000085141 00000 n 
-0000085269 00000 n 
-0000085403 00000 n 
-0000085517 00000 n 
-0000085628 00000 n 
-0000085744 00000 n 
-0000085853 00000 n 
-0000085965 00000 n 
-0000086086 00000 n 
+0000001516 00000 n 
+0000001622 00000 n 
+0000001783 00000 n 
+0000001890 00000 n 
+0000003918 00000 n 
+0000004041 00000 n 
+0000004442 00000 n 
+0000086978 00000 n 
+0000004578 00000 n 
+0000087044 00000 n 
+0000004714 00000 n 
+0000087110 00000 n 
+0000004850 00000 n 
+0000087178 00000 n 
+0000004986 00000 n 
+0000087246 00000 n 
+0000005122 00000 n 
+0000087314 00000 n 
+0000005258 00000 n 
+0000087382 00000 n 
+0000005394 00000 n 
+0000087450 00000 n 
+0000005530 00000 n 
+0000087516 00000 n 
+0000005666 00000 n 
+0000087582 00000 n 
+0000005802 00000 n 
+0000087650 00000 n 
+0000005938 00000 n 
+0000087718 00000 n 
+0000006074 00000 n 
+0000087786 00000 n 
+0000006210 00000 n 
+0000087854 00000 n 
+0000006346 00000 n 
+0000087922 00000 n 
+0000006482 00000 n 
+0000087989 00000 n 
+0000006618 00000 n 
+0000088057 00000 n 
+0000006754 00000 n 
+0000088125 00000 n 
+0000006890 00000 n 
+0000088184 00000 n 
+0000007026 00000 n 
+0000088250 00000 n 
+0000007162 00000 n 
+0000088318 00000 n 
+0000007298 00000 n 
+0000088384 00000 n 
+0000007434 00000 n 
+0000088450 00000 n 
+0000007570 00000 n 
+0000088516 00000 n 
+0000007706 00000 n 
+0000088584 00000 n 
+0000007842 00000 n 
+0000088650 00000 n 
+0000007978 00000 n 
+0000088716 00000 n 
+0000008114 00000 n 
+0000088782 00000 n 
+0000008250 00000 n 
+0000088848 00000 n 
+0000008385 00000 n 
+0000088914 00000 n 
+0000008521 00000 n 
+0000088980 00000 n 
+0000008657 00000 n 
+0000089046 00000 n 
+0000008792 00000 n 
+0000089114 00000 n 
+0000008928 00000 n 
+0000089180 00000 n 
+0000009064 00000 n 
+0000089246 00000 n 
+0000009200 00000 n 
+0000089312 00000 n 
+0000009336 00000 n 
+0000089378 00000 n 
+0000009472 00000 n 
+0000089444 00000 n 
+0000009607 00000 n 
+0000089510 00000 n 
+0000009743 00000 n 
+0000089576 00000 n 
+0000009879 00000 n 
+0000089642 00000 n 
+0000010015 00000 n 
+0000089708 00000 n 
+0000010151 00000 n 
+0000089774 00000 n 
+0000010287 00000 n 
+0000089840 00000 n 
+0000010425 00000 n 
+0000089907 00000 n 
+0000010563 00000 n 
+0000089974 00000 n 
+0000010701 00000 n 
+0000090043 00000 n 
+0000010839 00000 n 
+0000090110 00000 n 
+0000010977 00000 n 
+0000090177 00000 n 
+0000011115 00000 n 
+0000090244 00000 n 
+0000011253 00000 n 
+0000090311 00000 n 
+0000011390 00000 n 
+0000090378 00000 n 
+0000011526 00000 n 
+0000090445 00000 n 
+0000011662 00000 n 
+0000012261 00000 n 
+0000012387 00000 n 
+0000012472 00000 n 
+0000090512 00000 n 
+0000012606 00000 n 
+0000090579 00000 n 
+0000012740 00000 n 
+0000090646 00000 n 
+0000012874 00000 n 
+0000090713 00000 n 
+0000013008 00000 n 
+0000090780 00000 n 
+0000013142 00000 n 
+0000090847 00000 n 
+0000013276 00000 n 
+0000090916 00000 n 
+0000013410 00000 n 
+0000090985 00000 n 
+0000013544 00000 n 
+0000014202 00000 n 
+0000014312 00000 n 
+0000016361 00000 n 
+0000016471 00000 n 
+0000017647 00000 n 
+0000017757 00000 n 
+0000020163 00000 n 
+0000020273 00000 n 
+0000020731 00000 n 
+0000020841 00000 n 
+0000021397 00000 n 
+0000021507 00000 n 
+0000022403 00000 n 
+0000022513 00000 n 
+0000023795 00000 n 
+0000023905 00000 n 
+0000024953 00000 n 
+0000025063 00000 n 
+0000025883 00000 n 
+0000025993 00000 n 
+0000027182 00000 n 
+0000027292 00000 n 
+0000027672 00000 n 
+0000027782 00000 n 
+0000029572 00000 n 
+0000029682 00000 n 
+0000030003 00000 n 
+0000030113 00000 n 
+0000031248 00000 n 
+0000031358 00000 n 
+0000032299 00000 n 
+0000032409 00000 n 
+0000033314 00000 n 
+0000033424 00000 n 
+0000034184 00000 n 
+0000034294 00000 n 
+0000035495 00000 n 
+0000035605 00000 n 
+0000035930 00000 n 
+0000036040 00000 n 
+0000037018 00000 n 
+0000037128 00000 n 
+0000037522 00000 n 
+0000037632 00000 n 
+0000038681 00000 n 
+0000038791 00000 n 
+0000039475 00000 n 
+0000039585 00000 n 
+0000040937 00000 n 
+0000041047 00000 n 
+0000041963 00000 n 
+0000042073 00000 n 
+0000042771 00000 n 
+0000042881 00000 n 
+0000044001 00000 n 
+0000044111 00000 n 
+0000044436 00000 n 
+0000044546 00000 n 
+0000045715 00000 n 
+0000045825 00000 n 
+0000046924 00000 n 
+0000047034 00000 n 
+0000047814 00000 n 
+0000047924 00000 n 
+0000048668 00000 n 
+0000048778 00000 n 
+0000049293 00000 n 
+0000049403 00000 n 
+0000051045 00000 n 
+0000051155 00000 n 
+0000051496 00000 n 
+0000051606 00000 n 
+0000053042 00000 n 
+0000053152 00000 n 
+0000053843 00000 n 
+0000053953 00000 n 
+0000056045 00000 n 
+0000056155 00000 n 
+0000056524 00000 n 
+0000056634 00000 n 
+0000057438 00000 n 
+0000057548 00000 n 
+0000058356 00000 n 
+0000058466 00000 n 
+0000059207 00000 n 
+0000059317 00000 n 
+0000060446 00000 n 
+0000060556 00000 n 
+0000060824 00000 n 
+0000060934 00000 n 
+0000062013 00000 n 
+0000062123 00000 n 
+0000062853 00000 n 
+0000062963 00000 n 
+0000063944 00000 n 
+0000064054 00000 n 
+0000064345 00000 n 
+0000064455 00000 n 
+0000065920 00000 n 
+0000066030 00000 n 
+0000066355 00000 n 
+0000066465 00000 n 
+0000068074 00000 n 
+0000068184 00000 n 
+0000068517 00000 n 
+0000068627 00000 n 
+0000070013 00000 n 
+0000070123 00000 n 
+0000070398 00000 n 
+0000070508 00000 n 
+0000071624 00000 n 
+0000071750 00000 n 
+0000071795 00000 n 
+0000071966 00000 n 
+0000072160 00000 n 
+0000072380 00000 n 
+0000072759 00000 n 
+0000091052 00000 n 
+0000091106 00000 n 
+0000072869 00000 n 
+0000091172 00000 n 
+0000073073 00000 n 
+0000073274 00000 n 
+0000073416 00000 n 
+0000073694 00000 n 
+0000073821 00000 n 
+0000073981 00000 n 
+0000074230 00000 n 
+0000074393 00000 n 
+0000074526 00000 n 
+0000074671 00000 n 
+0000074978 00000 n 
+0000075277 00000 n 
+0000075416 00000 n 
+0000075570 00000 n 
+0000075685 00000 n 
+0000076021 00000 n 
+0000076301 00000 n 
+0000076446 00000 n 
+0000076727 00000 n 
+0000091238 00000 n 
+0000076941 00000 n 
+0000077075 00000 n 
+0000077207 00000 n 
+0000077438 00000 n 
+0000077594 00000 n 
+0000077788 00000 n 
+0000077937 00000 n 
+0000078168 00000 n 
+0000078300 00000 n 
+0000078459 00000 n 
+0000078641 00000 n 
+0000078835 00000 n 
+0000079035 00000 n 
+0000079200 00000 n 
+0000079338 00000 n 
+0000079523 00000 n 
+0000079744 00000 n 
+0000079956 00000 n 
+0000080168 00000 n 
+0000080385 00000 n 
+0000080574 00000 n 
+0000080751 00000 n 
+0000080975 00000 n 
+0000081187 00000 n 
+0000081387 00000 n 
+0000081569 00000 n 
+0000081797 00000 n 
+0000081998 00000 n 
+0000082172 00000 n 
+0000082357 00000 n 
+0000082561 00000 n 
+0000082768 00000 n 
+0000082940 00000 n 
+0000083112 00000 n 
+0000083372 00000 n 
+0000083620 00000 n 
+0000083842 00000 n 
+0000084108 00000 n 
+0000084265 00000 n 
+0000084484 00000 n 
+0000084688 00000 n 
+0000084974 00000 n 
+0000085137 00000 n 
+0000085265 00000 n 
+0000085399 00000 n 
+0000085513 00000 n 
+0000085624 00000 n 
+0000085740 00000 n 
+0000085849 00000 n 
+0000085961 00000 n 
+0000086082 00000 n 
 trailer
 <<
 /Size 332
@@ -2974,5 +2974,5 @@ trailer
 /Info 4 0 R
 >>
 startxref
-91311
+91307
 %%EOF
index f154990cef415047cc7aadb1cf46aed85b0d5961..940c941cc42f6d09338c22f90b8bc0d9e45949e0 100644 (file)
@@ -128,25 +128,21 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated."
 #+mcl
 (defsetf deref-pointer deref-pointer-set)
 
-#+lispworks
 (defmacro ensure-char-character (obj)
+  #+(or (and mcl (not openmcl))) obj
+  #+(or allegro cmu sbcl scl openmcl) `(code-char ,obj)
+  ;; lispworks varies whether deref'ing array vs. slot access of a char
+  #+lispworks
   `(if (characterp ,obj) ,obj (code-char ,obj)))
-
-#+(and mcl (not openmcl)) 
-(defmacro ensure-char-character (obj)
-  obj)
-
-#+(or allegro cmu sbcl scl openmcl)
-(defmacro ensure-char-character (obj)
-  `(code-char ,obj))
   
-#+(or lispworks (and mcl (not openmcl)))
 (defmacro ensure-char-integer (obj)
- `(char-code ,obj))
+  #+(or (and mcl (not openmcl))) `(char-code ,obj)
+  #+(or allegro cmu sbcl scl openmcl) obj
+  `(if (characterp ,obj) (char-code ,obj) ,obj))
 
-#+(or allegro cmu sbcl scl openmcl)
-(defmacro ensure-char-integer (obj)
-  obj)
+(defmacro ensure-char-storable (obj)
+  #+(or lispworks (and mcl (not openmcl))) obj
+  #+(or allegro cmu sbcl scl openmcl) `(char-code ,obj))
 
 (defmacro pointer-address (obj)
   #+(or cmu scl)
index 4744635c2c92c828bb3d9a5ed8c8c7684e0aa8f6..3c22730a3f73e7735f9d0701915f0fd184879f42 100644 (file)
@@ -45,6 +45,7 @@
    #:deref-pointer
    #:ensure-char-character
    #:ensure-char-integer
+   #:ensure-char-storable
    #:null-pointer-p
    #:make-null-pointer
    #:make-pointer
index 0f01e97ba1245103f0c8f8b5affaaa3f0ef019dc..89c41b2ec03a8ca4d240d449a134c33c92c2a2ef 100644 (file)
@@ -157,10 +157,11 @@ that LW/CMU automatically converts strings from c-calls."
        nil
      (if (eq ,locale :none)
         (fast-native-to-string ,obj ,length)
-       (excl:native-to-string
-       ,obj 
-       ,@(when length (list :length length))
-       :truncate (not ,null-terminated-p))))
+       (values
+       (excl:native-to-string
+        ,obj 
+        ,@(when length (list :length length))
+        :truncate (not ,null-terminated-p)))))
   #+lispworks
   `(if (fli:null-pointer-p ,obj)
        nil
index 6af7f79f3ca8ee721097bef04b78555bace7f332..495fdcd392f9b480f06c3fc4fb623e26b8243ddf 100644 (file)
 (deftest chptr.1
     (let ((native-string "test string"))
       (uffi:with-foreign-string (fs native-string)
-       (characterp
-        (ensure-char-character
-         (deref-pointer fs :char)))))
-  t)
+       (ensure-char-character
+        (deref-pointer fs :char))))
+  #\t)
 
 (deftest chptr.2
     (let ((native-string "test string"))
       (uffi:with-foreign-string (fs native-string)
-       (characterp
-        (ensure-char-character
-         (deref-pointer fs :unsigned-char)))))
-  t)
+       (ensure-char-character
+        (deref-pointer fs :unsigned-char))))
+  #\t)
 
 (deftest chptr.3
+    (let ((native-string "test string"))
+      (uffi:with-foreign-string (fs native-string)
+       (ensure-char-integer
+        (deref-pointer fs :unsigned-char))))
+  116)
+
+(deftest chptr.4
     (let ((native-string "test string"))
       (uffi:with-foreign-string (fs native-string)
        (numberp
         (deref-pointer fs :byte))))
   t)
-
        
+(deftest chptr.5
+    (let ((fs (uffi:allocate-foreign-object :unsigned-char 128)))
+      (setf (uffi:deref-array fs '(:array :unsigned-char) 0)
+           (uffi:ensure-char-storable #\a))
+      (setf (uffi:deref-array fs '(:array :unsigned-char) 1)
+           (uffi:ensure-char-storable (code-char 0)))
+      (uffi:convert-from-foreign-string fs))
+  "a")
+
+      
+                                 
index 4268b91cdceff3da15ce0be14c80b15eeb654ce7..86e8627ee0e925727b98c836879bc1aaabe2979d 100644 (file)
         (* 256 (char-code #\C))
         (* 1 128)))
 
-(deftest union.1 (uffi:ensure-char-character 
-                 (uffi:get-slot-value *u* 'tunion1 'char)) #\A)
+(deftest union.1 
+    (uffi:ensure-char-character 
+     (uffi:get-slot-value *u* 'tunion1 'char))
+  #\A)
+
+(deftest union.2 
+    (uffi:ensure-char-integer 
+     (uffi:get-slot-value *u* 'tunion1 'char))
+  65)
 
 #-(or sparc sparc-v9 mcl)
-(deftest union.2 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t)
+(deftest union.3 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t)
 
 
-;;    (uffi:free-foreign-object u))