| 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); |