Ver código fonte

Changed unsigned int to size_t.

Ioannis Koutras 13 anos atrás
pai
commit
98022ee888
6 arquivos alterados com 23 adições e 38 exclusões
  1. 7 20
      LeaHeader.c
  2. 8 12
      LeaHeader.h
  3. 1 1
      other.c
  4. 1 1
      other.h
  5. 4 3
      sys_alloc.c
  6. 2 1
      sys_alloc.h

+ 7 - 20
LeaHeader.c

@@ -6,40 +6,27 @@ leaHdr * getHeader(const char * ptr) {
 }
 
 
-unsigned int getSize (const char * ptr) {
+size_t getSize (void *ptr) {
 	return (getHeader(ptr)->size >> 1);
 }
 
-
-unsigned int getPrevSize (const char * ptr) {
-	unsigned int sz = getHeader(ptr)->prevSize;
+size_t getPrevSize (void *ptr) {
+	size_t sz = getHeader(ptr)->prevSize;
 	return sz >> 1;
 }
 
-
-void setSize (char * ptr, const unsigned int sz) {
-	unsigned int size = getSize(ptr);
+void setSize(void *ptr, size_t sz) {
+	size_t size = getSize(ptr);
 	size = ((size & 1) | (sz << 1));
 	getHeader(ptr)->size = size;
 }
 
-
-void setPrevSize (char * ptr, const unsigned int sz) {
-	unsigned int prevSize = getHeader(ptr)->prevSize;
+void setPrevSize (void *ptr, size_t sz) {
+	size_t prevSize = getHeader(ptr)->prevSize;
 	prevSize = (prevSize & 1) | (sz << 1);
 	getHeader(ptr)->prevSize = prevSize;
 }
 
-
-//returns a pointer (that points) to the next block
-char * getNext (const char * ptr) {
-	return (char *)(ptr + HDR_SIZE + getSize(ptr));
-}
-
-char * getPrev (const char * ptr) {
-	return (char *)(ptr - HDR_SIZE - getPrevSize(ptr));
-}
-
 void markPrevFree (char * ptr) {
 	getHeader(ptr)->prevSize &= (~ 1);
 }

+ 8 - 12
LeaHeader.h

@@ -1,9 +1,11 @@
 #ifndef RA_LEAHEADER_H
 #define RA_LEAHEADER_H
 
+#include <stddef.h>
+
 struct LeaHeader {
-	unsigned int size;
-	unsigned int prevSize;
+	size_t size;
+	size_t prevSize;
 };
 
 typedef struct LeaHeader  leaHdr;
@@ -17,23 +19,17 @@ typedef struct LeaHeader* leaHdr_ptr;
 leaHdr * getHeader(const char * ptr);
 
 
-unsigned int getSize (const char * ptr);
-
-
-unsigned int getPrevSize (const char * ptr);
-
+size_t getSize(void *ptr);
 
-void setSize (char * ptr, const unsigned int sz);
 
+size_t getPrevSize (void *ptr);
 
-void setPrevSize (char * ptr, const unsigned int sz);
 
+void setSize(void *ptr, size_t sz);
 
-//returns a pointer (that points) to the next block
-char * getNext (const char * ptr);
 
+void setPrevSize (void *ptr, size_t sz);
 
-char * getPrev(const char * ptr);
 
 void markPrevFree (char * ptr);
 

+ 1 - 1
other.c

@@ -1,7 +1,7 @@
 #include "other.h"
 #include <pthread.h>
 
-unsigned int req_padding(unsigned int size) {
+size_t req_padding(size_t size) {
 	if(size <= 32)
 		return 32;
 	if(size <= 64)

+ 1 - 1
other.h

@@ -3,7 +3,7 @@
 
 #include "heap.h"
 
-unsigned int req_padding(unsigned int sz);
+size_t req_padding(size_t size);
 
 int map_size_to_list(heap_t *heap, unsigned int sz);
 

+ 4 - 3
sys_alloc.c

@@ -3,10 +3,11 @@
 #include "posix_lock.h"
 #include "other.h"
 #include "LeaHeader.h"
+#include "sys_alloc.h"
 
-static char * borderPtr = NULL;
+static void *borderPtr = NULL;
 
-void setHeaders (char * ptr,unsigned int sz) {
+void setHeaders(void *ptr, size_t sz) {
 	sz = req_padding(sz);
 	setSize(ptr,sz);
 	markInUse(ptr);
@@ -15,7 +16,7 @@ void setHeaders (char * ptr,unsigned int sz) {
 	markInUse(getNext(ptr));//border block
 }
 
-void *sys_alloc(unsigned int size) {
+void *sys_alloc(size_t size) {
 	unsigned int allocation_size;
 	void *ptr;
 

+ 2 - 1
sys_alloc.h

@@ -1,6 +1,7 @@
 #ifndef SYS_ALLOC_H
 #define SYS_ALLOC_H
 
-void *sys_alloc(unsigned int size);
+void setHeaders (void *ptr, size_t sz);
+void *sys_alloc(size_t size);
 
 #endif /* SYS_ALLOC_H */