weakText was wrong
authorClaus Gittinger <cg@exept.de>
Mon, 20 Jan 1997 17:12:35 +0100
changeset 2210 9df9b4c48a6c
parent 2209 6ddff479f0ea
child 2211 289095fe875a
weakText was wrong
Array.st
--- a/Array.st	Mon Jan 20 17:11:45 1997 +0100
+++ b/Array.st	Mon Jan 20 17:12:35 1997 +0100
@@ -535,7 +535,7 @@
     OBJ myClass;
 
     myClass = __qClass(self);
-    if (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY))) {
+    if (((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
         index = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
         actualSize = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
         nIndex = index + __intVal(sz);
@@ -655,9 +655,11 @@
 
     slf = self;
     myClass = __qClass(slf);
-    if (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY))
+    if (
+	(((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY))
      && __bothSmallInteger(start, stop)
-     && ((indexLow = __intVal(start)) > 0)) {
+     && ((indexLow = __intVal(start)) > 0)
+    ) {
 	indexHigh = __intVal(stop);
 	nIndex = __BYTES2OBJS__(__qSize(slf) - OHDR_SIZE);
 	if (myClass != @global(Array)) {
@@ -896,7 +898,7 @@
     OBJ myClass;
 
     myClass = __qClass(self);
-    if (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY))) {
+    if (((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
         index = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
 
         actualSize = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
@@ -1025,7 +1027,7 @@
     OBJ myClass;
 
     myClass = __qClass(self);
-    if (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY))) {
+    if (((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
         endIndex = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
         actualSize = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
         nIndex = endIndex + __intVal(sz);
@@ -1235,12 +1237,14 @@
     REGISTER int count;
     OBJ myClass;
     
-    if ((__ClassInstPtr((myClass = __qClass(self)))->c_ninstvars == __MKSMALLINT(0))
+    if (
+	(__ClassInstPtr((myClass = __qClass(self)))->c_ninstvars == __MKSMALLINT(0))
      && __isNonNilObject(aCollection)
      && (((t = __qClass(aCollection)) == Array) || (t == myClass))
-     && (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY)))
+     && (((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY))
      && __bothSmallInteger(start, stop)
-     && __isSmallInteger(repStart)) {
+     && __isSmallInteger(repStart)
+    ) {
         startIndex = __intVal(start) - 1;
         if (startIndex >= 0) {
             nIndex = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
@@ -1824,8 +1828,9 @@
     OBJ myClass;
 
     myClass = __qClass(self);
-    if ( (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY)))
-     && __isSmallInteger(start)) {
+    if ( (((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY))
+     && __isSmallInteger(start)
+    ) {
         index = __intVal(start) - 1;
         if (index >= 0) {
             nInsts = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
@@ -1919,8 +1924,10 @@
     OBJ myClass;
 
     myClass = __qClass(self);
-    if ( (! ((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(WKPOINTERARRAY)))
-     && __bothSmallInteger(start, stop)) {
+    if (
+	 (((INT)( __ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY))
+     && __bothSmallInteger(start, stop)
+    ) {
         index = __intVal(start) - 1;
         if (index >= 0) {
             nInsts = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
@@ -2026,5 +2033,5 @@
 !Array class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.80 1997-01-17 23:31:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.81 1997-01-20 16:12:35 cg Exp $'
 ! !