|
|
| version 1.2, 2003/11/21 06:51:10 | version 1.5, 2005/02/09 20:11:34 |
|---|---|
| Line 61 UINT listarray_getitems(LISTARRAY laHand | Line 61 UINT listarray_getitems(LISTARRAY laHand |
| void *listarray_append(LISTARRAY laHandle, const void *vpItem) { | void *listarray_append(LISTARRAY laHandle, const void *vpItem) { |
| LISTARRAY laNext; | LISTARRAY laNext; |
| char *p; | UINT8 *p; |
| if (laHandle == NULL) { | if (laHandle == NULL) { |
| goto laapp_err; | goto laapp_err; |
| Line 78 void *listarray_append(LISTARRAY laHandl | Line 78 void *listarray_append(LISTARRAY laHandl |
| } | } |
| laHandle = laNext; | laHandle = laNext; |
| } | } |
| p = (char *)(laHandle + 1); | p = (UINT8 *)(laHandle + 1); |
| p += laHandle->items * laHandle->listsize; | p += laHandle->items * laHandle->listsize; |
| if (vpItem) { | if (vpItem) { |
| CopyMemory(p, vpItem, laHandle->listsize); | CopyMemory(p, vpItem, laHandle->listsize); |
| Line 97 void *listarray_getitem(LISTARRAY laHand | Line 97 void *listarray_getitem(LISTARRAY laHand |
| while(laHandle) { | while(laHandle) { |
| if (num < laHandle->items) { | if (num < laHandle->items) { |
| return((char *)(laHandle + 1) + (laHandle->listsize * num)); | return((UINT8 *)(laHandle + 1) + (laHandle->listsize * num)); |
| } | } |
| num -= laHandle->items; | num -= laHandle->items; |
| laHandle = laHandle->laNext; | laHandle = laHandle->laNext; |
| Line 105 void *listarray_getitem(LISTARRAY laHand | Line 105 void *listarray_getitem(LISTARRAY laHand |
| return(NULL); | return(NULL); |
| } | } |
| UINT listarray_getpos(LISTARRAY laHandle, void *vpItem) { | |
| UINT pos; | |
| UINT i; | |
| pos = 0; | |
| while(laHandle) { | |
| UINT8 *p = (UINT8 *)(laHandle + 1); | |
| for (i=0; i<laHandle->items; i++) { | |
| if ((long)p == (long)vpItem) { | |
| return(pos + i); | |
| } | |
| p += laHandle->listsize; | |
| } | |
| pos += laHandle->items; | |
| laHandle = laHandle->laNext; | |
| } | |
| return((UINT)-1); | |
| } | |
| void *listarray_enum(LISTARRAY laHandle, | void *listarray_enum(LISTARRAY laHandle, |
| BOOL (*cbProc)(void *vpItem, void *vpArg), void *vpArg) { | BOOL (*cbProc)(void *vpItem, void *vpArg), void *vpArg) { |
| UINT i; | UINT i; |
| Line 115 void *listarray_enum(LISTARRAY laHandle, | Line 135 void *listarray_enum(LISTARRAY laHandle, |
| } | } |
| while(laHandle) { | while(laHandle) { |
| char *p = (char *)(laHandle + 1); | UINT8 *p = (UINT8 *)(laHandle + 1); |
| for (i=0; i<laHandle->items; i++) { | for (i=0; i<laHandle->items; i++) { |
| if (cbProc((void *)p, vpArg)) { | if (cbProc((void *)p, vpArg)) { |
| return((void *)p); | return((void *)p); |