Diff for /np2/common/lstarray.c between versions 1.1.1.1 and 1.5

version 1.1.1.1, 2003/10/16 17:57:10 version 1.5, 2005/02/09 20:11:34
Line 6  LISTARRAY listarray_new(size_t listsize, Line 6  LISTARRAY listarray_new(size_t listsize,
         LISTARRAY       laRet = NULL;          LISTARRAY       laRet = NULL;
         UINT            dwSize;          UINT            dwSize;
   
           listsize = (listsize + 3) & (~3);
         dwSize = sizeof(_LISTARRAY);          dwSize = sizeof(_LISTARRAY);
         dwSize += listsize * maxitems;          dwSize += listsize * maxitems;
   
Line 60  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 77  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 96  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 104  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 114  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);

Removed from v.1.1.1.1  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>