X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=examples%2Funion.cl;h=7a1e72ca095cc735ad8e5311fdb8ef5abfebfad5;hb=bb58879f51d870e04e6f01b3ba2c4906703079e0;hp=967fc25b1ef73ca6d64901cb1c25ffc05d1a0d2b;hpb=687abce42637479af041f074ebd887c6269f45b9;p=uffi.git diff --git a/examples/union.cl b/examples/union.cl index 967fc25..7a1e72c 100644 --- a/examples/union.cl +++ b/examples/union.cl @@ -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 ;;;; @@ -28,16 +28,18 @@ (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))) @@ -52,12 +54,12 @@ (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))