From 0e2b42c1ff5d56ddf1368da56605797b6c9b6cbd Mon Sep 17 00:00:00 2001 From: lantw44 Date: Thu, 30 Aug 2012 01:11:25 +0800 Subject: =?UTF-8?q?l4darr=20=E7=9A=84=E4=BA=8C=E7=B6=AD=E9=99=A3=E5=88=97?= =?UTF-8?q?=E9=83=A8=E4=BB=BD=E5=AF=AB=E5=AE=8C=E4=BA=86=EF=BC=81=E4=B8=8D?= =?UTF-8?q?=E9=81=8E=E9=82=84=E6=B2=92=E6=B8=AC=E8=A9=A6......?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l4darr/d2array.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'l4darr/d2array.c') 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 #include -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); } -- cgit v1.2.3