Browse Source

Store data size for all types.

woollybah 6 years ago
parent
commit
e0005cb0ae
1 changed files with 2 additions and 1 deletions
  1. 2 1
      blitz.mod/blitz_array.c

+ 2 - 1
blitz.mod/blitz_array.c

@@ -112,6 +112,7 @@ static BBArray *allocateArray( const char *type,int dims,int *lens, unsigned sho
 	}
 	
 	size = arrayCellSize(type, data_size, &flags);
+	int base_size = size;
 	size*=length;
 
 	arr=(BBArray*)bbGCAllocObject( BBARRAYSIZE(size,dims),&bbArrayClass,flags );
@@ -119,7 +120,7 @@ static BBArray *allocateArray( const char *type,int dims,int *lens, unsigned sho
 	arr->type=type;
 	arr->dims=dims;
 	arr->size=size;
-	arr->data_size = data_size;
+	arr->data_size = base_size;
 	arr->data_start = (offsetof(BBArray, scales) + dims * sizeof(int)+0x0f) & ~0x0f; // 16-byte aligned
 	
 	len=lens;