UIBytes.st
changeset 1 a27a279701f8
child 3 24d81bf47225
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/UIBytes.st	Fri Jul 16 11:39:45 1993 +0200
@@ -0,0 +1,63 @@
+"
+ COPYRIGHT (c) 1993 by Claus Gittinger
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+
+ByteArray subclass:#UninterpretedBytes
+       instanceVariableNames:''
+       classVariableNames:''
+       poolDictionaries:''
+       category:'System-Support'
+!
+
+UninterpretedBytes comment:'
+
+COPYRIGHT (c) 1993 by Claus Gittinger
+              All Rights Reserved
+
+this class has been added for ST-80 compatibility.
+
+%W% %E%
+'!
+
+!UninterpretedBytes class methodsFor:'queries'!
+
+isBigEndian
+    "return true, if words/shorts store the most-significant
+     byte last. I.e. true if LSB-first (vax, intel), 
+     false if MSB-first (m68k, sun)."
+
+%{  /* NOCONTEXT */
+
+    /*
+     * I dont like ifdefs - you always forget some ...
+     * therefore we look into a structure at run-time
+     */
+    union {
+        unsigned int   u_l;
+        char           u_c[sizeof(int)];
+    } u;
+
+    u.u_l = 0x87654321;
+    if (u.u_c[0] == 0x21) RETURN (true);
+    RETURN (false );
+%}
+    "UninterpretedBytes isBigEndian"
+! !
+
+!UninterpretedBytes methodsFor:'accessing'!
+
+byteAt:index
+    ^ self basicAt:index
+!
+
+byteAt:index put:value
+    ^ self basicAt:index put:value
+! !