8
8
* with some sorting and search algorithms.
9
9
*/
10
10
11
- #include <stdio.h>
12
- #include <stdlib.h>
13
11
#include <string.h>
14
12
#include "array.h"
15
13
16
- xarray_data_t * XArray_NewData (void * pData , size_t nSize , uint64_t nKey )
14
+ xarray_data_t * XArray_NewData (void * pData , size_t nSize , uint32_t nKey )
17
15
{
18
16
xarray_data_t * pNewData = (xarray_data_t * )malloc (sizeof (xarray_data_t ));
19
17
if (pNewData == NULL ) return NULL ;
@@ -78,7 +76,7 @@ void* XArray_Init(xarray_t *pArr, size_t nSize, uint8_t nFixed)
78
76
79
77
if (nSize )
80
78
{
81
- pArr -> pData = (xarray_data_t * * )calloc (nSize , sizeof (xarray_data_t * ));
79
+ pArr -> pData = (xarray_data_t * * )malloc (nSize * sizeof (xarray_data_t * ));
82
80
if (pArr -> pData == NULL ) return NULL ;
83
81
}
84
82
@@ -242,7 +240,7 @@ int XArray_PushData(xarray_t *pArr, void *pData, size_t nSize)
242
240
return XArray_Add (pArr , pNewData );
243
241
}
244
242
245
- int XArray_AddDataKey (xarray_t * pArr , void * pData , size_t nSize , uint64_t nKey )
243
+ int XArray_AddDataKey (xarray_t * pArr , void * pData , size_t nSize , uint32_t nKey )
246
244
{
247
245
xarray_data_t * pNewData = XArray_NewData (pData , nSize , nKey );
248
246
@@ -282,7 +280,7 @@ size_t XArray_GetSize(xarray_t *pArr, size_t nIndex)
282
280
return pArrData ? pArrData -> nSize : 0 ;
283
281
}
284
282
285
- uint64_t XArray_GetKey (xarray_t * pArr , size_t nIndex )
283
+ uint32_t XArray_GetKey (xarray_t * pArr , size_t nIndex )
286
284
{
287
285
if (nIndex >= pArr -> nSize ) return 0 ;
288
286
xarray_data_t * pArrData = pArr -> pData [nIndex ];
@@ -379,13 +377,15 @@ void XArray_Swap(xarray_t *pArr, size_t nIndex1, size_t nIndex2)
379
377
380
378
static int XArray_CompareSize (const void * pData1 , const void * pData2 , void * pCtx )
381
379
{
380
+ (void )pCtx ;
382
381
xarray_data_t * pFirst = (xarray_data_t * )pData1 ;
383
382
xarray_data_t * pSecond = (xarray_data_t * )pData2 ;
384
383
return (int )pFirst -> nSize - (int )pSecond -> nSize ;
385
384
}
386
385
387
386
static int XArray_CompareKey (const void * pData1 , const void * pData2 , void * pCtx )
388
387
{
388
+ (void )pCtx ;
389
389
xarray_data_t * pFirst = (xarray_data_t * )pData1 ;
390
390
xarray_data_t * pSecond = (xarray_data_t * )pData2 ;
391
391
return (int )pFirst -> nKey - (int )pSecond -> nKey ;
@@ -449,7 +449,7 @@ void XArray_BubbleSort(xarray_t *pArr, xarray_comparator_t compare, void *pCtx)
449
449
}
450
450
}
451
451
452
- int XArray_LinearSearch (xarray_t * pArr , uint64_t nKey )
452
+ int XArray_LinearSearch (xarray_t * pArr , uint32_t nKey )
453
453
{
454
454
if (pArr == NULL || !pArr -> nUsed ) return XARRAY_FAILURE ;
455
455
size_t i = 0 ;
@@ -463,7 +463,7 @@ int XArray_LinearSearch(xarray_t *pArr, uint64_t nKey)
463
463
return XARRAY_FAILURE ;
464
464
}
465
465
466
- int XArray_SentinelSearch (xarray_t * pArr , uint64_t nKey )
466
+ int XArray_SentinelSearch (xarray_t * pArr , uint32_t nKey )
467
467
{
468
468
if (pArr == NULL || !pArr -> nUsed ) return XARRAY_FAILURE ;
469
469
int i , nRet = 0 , nLast = (int )pArr -> nUsed - 1 ;
@@ -488,7 +488,7 @@ int XArray_SentinelSearch(xarray_t *pArr, uint64_t nKey)
488
488
return nRet ;
489
489
}
490
490
491
- int XArray_DoubleSearch (xarray_t * pArr , uint64_t nKey )
491
+ int XArray_DoubleSearch (xarray_t * pArr , uint32_t nKey )
492
492
{
493
493
if (pArr == NULL || !pArr -> nUsed ) return XARRAY_FAILURE ;
494
494
int nFront = 0 , nBack = (int )pArr -> nUsed - 1 ;
@@ -508,7 +508,7 @@ int XArray_DoubleSearch(xarray_t *pArr, uint64_t nKey)
508
508
return XARRAY_FAILURE ;
509
509
}
510
510
511
- int XArray_BinarySearch (xarray_t * pArr , uint64_t nKey )
511
+ int XArray_BinarySearch (xarray_t * pArr , uint32_t nKey )
512
512
{
513
513
if (pArr == NULL || !pArr -> nUsed ) return XARRAY_FAILURE ;
514
514
int nLeft = 0 , nRight = (int )pArr -> nUsed - 1 ;
0 commit comments