r10917: 2006-04-17 Kevin Rosenberg (kevin@rosenberg.net)
[uffi.git] / examples / union.lisp
index 856ac4935787987d2db3a2ea561de1e81fd3ecd9..c7022d83a79db2600e4b64166a2234c78a0a273a 100644 (file)
@@ -7,13 +7,10 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Mar 2002
 ;;;;
-;;;; $Id: union.lisp,v 1.1 2002/09/30 10:02:36 kevin Exp $
+;;;; $Id$
 ;;;;
-;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;; This file, part of UFFI, is Copyright (c) 2002-2005 by Kevin M. Rosenberg
 ;;;;
-;;;; UFFI users are granted the rights to distribute and use this software
-;;;; as governed by the terms of the Lisp Lesser GNU Public License
-;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 ;;;; *************************************************************************
 
 (in-package :cl-user)
   (let ((u (uffi:allocate-foreign-object 'tunion1)))
     (setf (uffi:get-slot-value u 'tunion1 'uint)
       ;; little endian
-      #-(or sparc sparc-v9 powerpc ppc)
+      #-(or sparc sparc-v9 powerpc ppc big-endian)
       (+ (* 1 (char-code #\A))
         (* 256 (char-code #\B))
         (* 65536 (char-code #\C))
-        (* 16777216 128))
+        (* 16777216 255))
       ;; big endian
-      #+(or sparc sparc-v9 powerpc ppc)
+      #+(or sparc sparc-v9 powerpc ppc big-endian)
       (+ (* 16777216 (char-code #\A))
         (* 65536 (char-code #\B))
         (* 256 (char-code #\C))
-        (* 1 128)))
+        (* 1 255)))
     (format *standard-output* "~&Should be #\A: ~S" 
            (uffi:ensure-char-character 
             (uffi:get-slot-value u 'tunion1 'char)))
-    (format *standard-output* "~&Should be negative number: ~D" 
-           (uffi:get-slot-value u 'tunion1 'int))
+;;    (format *standard-output* "~&Should be negative number: ~D" 
+;;         (uffi:get-slot-value u 'tunion1 'int))
     (format *standard-output* "~&Should be positive number: ~D"
            (uffi:get-slot-value u 'tunion1 'uint))
     (uffi:free-foreign-object u))
               #\A
               :test #'eql
               :fail-info "Error with union character")
-    #-(or sparc sparc-v9 mcl)
-    (util.test:test (> 0 (uffi:get-slot-value u 'tunion1 'int))
-              t
-              :fail-info
-              "Error with negative int in union")
+    #-(or sparc sparc-v9 openmcl digitool)
+;;    (util.test:test (> 0 (uffi:get-slot-value u 'tunion1 'int))
+;;            t
+;;            :fail-info
+;;            "Error with negative int in union")
     (util.test:test (plusp (uffi:get-slot-value u 'tunion1 'uint))
               t
               :fail-info