aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlantw44 <lantw44@gmail.com>2012-08-30 01:11:25 +0800
committerlantw44 <lantw44@gmail.com>2012-08-30 01:11:25 +0800
commit0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd (patch)
tree2c93a58f1de984795bedf3d8e20dd152ca8dbf6a
parent516f31006b9c1b47f85b31deef28b78276f2c4bb (diff)
downloadl4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.tar
l4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.tar.gz
l4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.tar.bz2
l4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.tar.lz
l4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.tar.xz
l4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.tar.zst
l4basic-0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd.zip
l4darr 的二維陣列部份寫完了!不過還沒測試......
-rw-r--r--l4darr/d2array.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/l4darr/d2array.c b/l4darr/d2array.c
index d0dc88f..7b39c28 100644
--- a/l4darr/d2array.c
+++ b/l4darr/d2array.c
@@ -1,9 +1,26 @@
#include <stdlib.h>
#include <l4darr.h>
-L4DA2* l4da2_create_setmax(int itemsize, L4XY len, L4XY maxlen){
- if(len.x < 0 || len.y < 0 || maxlen.x < 0 || maxlen.y < 0)
+L4DA2* l4da2_create_setmax(int itemsize, int lenx, int leny){
+ if(lenx <= 0 || leny <= 0 || itemsize <= 0){
return NULL;
}
- L4DA2* arr = (L4DA2*)malloc();
+ L4DA2* arr = (L4DA2*)malloc(sizeof(L4DA2));
+ if(arr == NULL){
+ return NULL;
+ }
+ arr->arr_itemsize = itemsize;
+ arr->arr_lenx = lenx;
+ arr->arr_leny = leny;
+ arr->arr_data = malloc(itemsize*lenx*leny);
+ if(arr->arr_data == NULL){
+ free(arr);
+ return NULL;
+ }
+ return arr;
+}
+
+void l4da2_free(L4DA2* arr){
+ free(arr->arr_data);
+ free(arr);
}