From: Kevin M. Rosenberg Date: Tue, 18 May 2004 22:38:52 +0000 (+0000) Subject: r9396: add ensure-char-storage function, new tests X-Git-Tag: v1.6.1~103 X-Git-Url: http://git.kpe.io/?p=uffi.git;a=commitdiff_plain;h=3e1ab6ebfcf56e76edffaff284aca937e8152408 r9396: add ensure-char-storage function, new tests --- diff --git a/debian/changelog b/debian/changelog index e3eea13..3145630 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-uffi (1.4.18-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Tue, 18 May 2004 15:40:58 -0600 + cl-uffi (1.4.17-1) unstable; urgency=low * New upstream diff --git a/doc/catalog-suse.xml b/doc/catalog-suse.xml index 9c772d6..80005a3 100644 --- a/doc/catalog-suse.xml +++ b/doc/catalog-suse.xml @@ -6,7 +6,7 @@ - + + uri="docbook/stylesheet/nwalsh/current/xhtml/docbook.xsl" /> + uri="docbook/stylesheet/nwalsh/current/xhtml/chunk.xsl" /> + uri="docbook/stylesheet/nwalsh/current/fo/docbook.xsl" /> diff --git a/doc/catalog-suse90.xml b/doc/catalog-suse90.xml new file mode 100644 index 0000000..9c772d6 --- /dev/null +++ b/doc/catalog-suse90.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/html.tar.gz b/doc/html.tar.gz index 5716b4d..81a45b7 100644 Binary files a/doc/html.tar.gz and b/doc/html.tar.gz differ diff --git a/doc/uffi.pdf b/doc/uffi.pdf index 41d9981..b2a93df 100644 --- a/doc/uffi.pdf +++ b/doc/uffi.pdf @@ -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^tKKe#oo"8+.QT>BMS7t&b)i'2H1\Z*c&Qe"o:L8PZ8i'[<-EoNI9%u@8eA-(@_B9KFH!D+X'B(u4EKmWJ!TC@0]<=F_f]kj9BDHD6!*0=Eh9t7*gL3p`*JSOG@lko/P+!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-dHnHRj6fS0W0)L[Y#LbIToP5*59Sn\5,_`Hn]XlYB4RT?f)c;\`a49XA +Gau0B95iQ=%)1n+kh#rrlA'1'fW"8(U0G6"kACCQ*>D^tKKe#oo"8+.QT>BMS7t&b)i'2H1\Z*c&Qe"o:L8PZ8i'[<-EoNI9%u@8eA-(@_B9KFH!D+X'B(u4EKmWJ!TC@0]<=F_f]kj9BDHD6!*0=Eh9t7*gL3p`*JSOG@lko/P+!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-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 diff --git a/src/objects.lisp b/src/objects.lisp index f154990..940c941 100644 --- a/src/objects.lisp +++ b/src/objects.lisp @@ -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) diff --git a/src/package.lisp b/src/package.lisp index 4744635..3c22730 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -45,6 +45,7 @@ #:deref-pointer #:ensure-char-character #:ensure-char-integer + #:ensure-char-storable #:null-pointer-p #:make-null-pointer #:make-pointer diff --git a/src/strings.lisp b/src/strings.lisp index 0f01e97..89c41b2 100644 --- a/src/strings.lisp +++ b/src/strings.lisp @@ -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 diff --git a/tests/pointers.lisp b/tests/pointers.lisp index 6af7f79..495fdcd 100644 --- a/tests/pointers.lisp +++ b/tests/pointers.lisp @@ -18,24 +18,39 @@ (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") + + + diff --git a/tests/union.lisp b/tests/union.lisp index 4268b91..86e8627 100644 --- a/tests/union.lisp +++ b/tests/union.lisp @@ -35,12 +35,18 @@ (* 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))