Change eina_benchmark_register API as it can fail in many occasion.

SVN revision: 36097
This commit is contained in:
Cedric BAIL 2008-09-19 12:32:24 +00:00
parent 80a227ff13
commit 710354bd96
2 changed files with 8 additions and 5 deletions

View File

@ -61,8 +61,8 @@ EAPI int eina_benchmark_shutdown(void);
EAPI Eina_Benchmark *eina_benchmark_new(const char *name, const char *run);
EAPI void eina_benchmark_free(Eina_Benchmark *bench);
EAPI void eina_benchmark_register(Eina_Benchmark *bench, const char *name, Eina_Benchmark_Specimens bench_cb,
int count_start, int count_end, int count_set);
EAPI Eina_Bool eina_benchmark_register(Eina_Benchmark *bench, const char *name, Eina_Benchmark_Specimens bench_cb,
int count_start, int count_end, int count_set);
EAPI Eina_Array *eina_benchmark_run(Eina_Benchmark *bench);

View File

@ -235,20 +235,21 @@ eina_benchmark_free(Eina_Benchmark *bench)
* allocation of the memory of the test to add fails, the error is set
* to #EINA_ERROR_OUT_OF_MEMORY.
*/
EAPI void
EAPI Eina_Bool
eina_benchmark_register(Eina_Benchmark *bench, const char *name, Eina_Benchmark_Specimens bench_cb,
int count_start, int count_end, int count_step)
{
Eina_Run *run;
if (!bench) return ;
if (!bench) return EINA_FALSE;
if (count_step == 0) return EINA_FALSE;
eina_error_set(0);
run = calloc(1, sizeof (Eina_Run));
if (!run)
{
eina_error_set(EINA_ERROR_OUT_OF_MEMORY);
return ;
return EINA_FALSE;
}
run->cb = bench_cb;
@ -258,6 +259,8 @@ eina_benchmark_register(Eina_Benchmark *bench, const char *name, Eina_Benchmark_
run->step = count_step;
bench->runs = eina_inlist_append(bench->runs, EINA_INLIST_GET(run));
return EINA_TRUE;
}
/**