Browse Source

Fixed some pointer arithmetics.

Ioannis Koutras 14 years ago
parent
commit
8ab83c7dc5
1 changed files with 4 additions and 4 deletions
  1. 4 4
      sys_alloc.c

+ 4 - 4
sys_alloc.c

@@ -35,7 +35,7 @@ void *sys_alloc(size_t size) {
 		//printf("sbrk = %p\n",ptr);
 
 		setPrevSize((char *) ptr + HDR_SIZE, 0);
-		markPrevInUse(ptr + HDR_SIZE);
+		markPrevInUse((char *) ptr + HDR_SIZE);
 		borderPtr = ptr;
 
 	} else {
@@ -46,15 +46,15 @@ void *sys_alloc(size_t size) {
 			printf("sbrk Fail: out of Memory\n");
 			return NULL;
 		}
-		if((ptr != borderPtr + 2*HDR_SIZE)){
+		if((ptr != (char *) borderPtr + 2*HDR_SIZE)){
 			printf("sbrk Fail: Non-contiguous Memory\n");
 			return NULL;
 		}
 	}
 
 
-	ptr = borderPtr + HDR_SIZE;
-	borderPtr += allocation_size;
+	ptr = (char *) borderPtr + HDR_SIZE;
+	borderPtr = (char *) borderPtr + allocation_size;
 	setHeaders(ptr,size);
 
 	sbrk_unlock();