Fix issue 22 : use XXH_malloc() & XXH_free()

This commit is contained in:
Yann Collet 2014-10-18 12:10:27 +01:00
parent f3f6e3301c
commit 0093c7ac0e
2 changed files with 17 additions and 18 deletions

View File

@ -84,14 +84,8 @@ You can contact the author at :
// Modify the local functions below should you wish to use some other memory routines
// for malloc(), free()
#include <stdlib.h>
FORCE_INLINE void* XXH_malloc(size_t s)
{
return malloc(s);
}
FORCE_INLINE void XXH_free (void* p)
{
free(p);
}
FORCE_INLINE void* XXH_malloc(size_t s) { return malloc(s); }
FORCE_INLINE void XXH_free (void* p) { free(p); }
// for memcpy()
#include <string.h>
FORCE_INLINE void* XXH_memcpy(void* dest, const void* src, size_t size)
@ -535,22 +529,22 @@ typedef struct
XXH32_state_t* XXH32_createState(void)
{
XXH_STATIC_ASSERT(sizeof(XXH32_state_t) >= sizeof(XXH_istate32_t)); // A compilation error here means XXH32_state_t is not large enough
return (XXH32_state_t*)malloc(sizeof(XXH32_state_t));
return (XXH32_state_t*)XXH_malloc(sizeof(XXH32_state_t));
}
XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr)
{
free(statePtr);
XXH_free(statePtr);
return XXH_OK;
};
XXH64_state_t* XXH64_createState(void)
{
XXH_STATIC_ASSERT(sizeof(XXH64_state_t) >= sizeof(XXH_istate64_t)); // A compilation error here means XXH64_state_t is not large enough
return (XXH64_state_t*)malloc(sizeof(XXH64_state_t));
return (XXH64_state_t*)XXH_malloc(sizeof(XXH64_state_t));
}
XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr)
{
free(statePtr);
XXH_free(statePtr);
return XXH_OK;
};

View File

@ -569,12 +569,13 @@ int main(int argc, char** argv)
int i,
filenamesStart=0;
char* input_filename=0;
char* exename = argv[0];
U32 benchmarkMode = 0;
// lz4cat behavior
if (strstr(argv[0], "xxh32sum")!=NULL) g_fn_selection=0;
if (argc<2) return badusage(argv[0]);
if (argc<2) return badusage(exename);
for(i=1; i<argc; i++)
{
@ -593,7 +594,7 @@ int main(int argc, char** argv)
{
// Display help on usage
case 'h':
return usage(argv[0]);
return usage(exename);
// select hash algorithm
case 'H':
@ -614,7 +615,7 @@ int main(int argc, char** argv)
break;
default:
return badusage(argv[0]);
return badusage(exename);
}
}
}
@ -628,12 +629,16 @@ int main(int argc, char** argv)
// Check results are good
BMK_sanityCheck();
if (benchmarkMode) return BMK_benchFile(argv+filenamesStart, argc-filenamesStart);
if (benchmarkMode)
{
DISPLAY( WELCOME_MESSAGE );
return BMK_benchFile(argv+filenamesStart, argc-filenamesStart);
}
// No input filename ==> Error
if(!input_filename) { badusage(argv[0]); return 1; }
if(!input_filename) { badusage(exename); return 1; }
if(g_fn_selection < 0 || g_fn_selection > 1) { badusage(argv[0]); return 1; }
if(g_fn_selection < 0 || g_fn_selection > 1) { badusage(exename); return 1; }
return BMK_hash(argv[filenamesStart], g_fn_selection);
}