r2786: *** empty log message ***
[uffi.git] / examples / union.cl
index 967fc25b1ef73ca6d64901cb1c25ffc05d1a0d2b..7a1e72ca095cc735ad8e5311fdb8ef5abfebfad5 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Mar 2002
 ;;;;
-;;;; $Id: union.cl,v 1.8 2002/09/20 05:38:01 kevin Exp $
+;;;; $Id: union.cl,v 1.9 2002/09/20 06:03:36 kevin Exp $
 ;;;;
 ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 (defun run-union-1 ()
   (let ((u (uffi:allocate-foreign-object 'tunion1)))
     (setf (uffi:get-slot-value u 'tunion1 'uint)
-         #-sparc
-         (+ (* 1 (char-code #\A))
-            (* 256 (char-code #\B))
-            (* 65536 (char-code #\C))
-            (* 16777216 255))
-         #+(or sparc sparc-v9)
-         (+ (* 16777216 (char-code #\A))
-            (* 65536 (char-code #\B))
-            (* 256 (char-code #\C))
-            (* 1 255)))
+      ;; little endian
+      #-(or sparc sparc-v9 powerpc ppc)
+      (+ (* 1 (char-code #\A))
+        (* 256 (char-code #\B))
+        (* 65536 (char-code #\C))
+        (* 16777216 128))
+      ;; big endian
+      #+(or sparc sparc-v9 powerpc ppc)
+      (+ (* 16777216 (char-code #\A))
+        (* 65536 (char-code #\B))
+        (* 256 (char-code #\C))
+        (* 1 128)))
     (format *standard-output* "~&Should be #\A: ~S" 
            (uffi:ensure-char-character 
             (uffi:get-slot-value u 'tunion1 'char)))
 (defun test-union-1 ()
   (let ((u (uffi:allocate-foreign-object 'tunion1)))
     (setf (uffi:get-slot-value u 'tunion1 'uint)
-         #-sparc
+         #-(or sparc sparc-v9 powerpc ppc)
          (+ (* 1 (char-code #\A))
             (* 256 (char-code #\B))
             (* 65536 (char-code #\C))
             (* 16777216 128))
-         #+(or sparc sparc-v9)
+         #+(or sparc sparc-v9 powerpc ppc)
          (+ (* 16777216 (char-code #\A))
             (* 65536 (char-code #\B))
             (* 256 (char-code #\C))