ethumb: fix float comparison warning.

This commit is contained in:
Cedric BAIL 2016-12-20 14:52:53 -08:00
parent 4a79542480
commit fb418debc3
1 changed files with 23 additions and 14 deletions

View File

@ -1151,7 +1151,7 @@ ethumb_calculate_aspect_from_ratio(Ethumb *e, float ia, int *w, int *h)
*w = e->tw; *w = e->tw;
*h = e->th; *h = e->th;
if (ia == 0) if (EINA_FLT_CMP(ia, 0))
return; return;
a = e->tw / (float)e->th; a = e->tw / (float)e->th;
@ -1190,7 +1190,7 @@ ethumb_calculate_fill_from_ratio(Ethumb *e, float ia, int *fx, int *fy, int *fw,
*fx = 0; *fx = 0;
*fy = 0; *fy = 0;
if (ia == 0) if (EINA_FLT_CMP(ia, 0))
return; return;
a = e->tw / (float)e->th; a = e->tw / (float)e->th;
@ -1738,10 +1738,19 @@ ethumb_dup(const Ethumb *e)
#define CHECK_DELTA(Param) \ #define CHECK_DELTA(Param) \
if (e1->Param != e2->Param) \ if (e1->Param != e2->Param) \
return EINA_TRUE; return EINA_TRUE;
#define CHECK_FLT_DELTA(Param) \
if (!EINA_FLT_CMP(e1->Param, e2->Param)) \
return EINA_TRUE;
EAPI Eina_Bool EAPI Eina_Bool
ethumb_cmp(const Ethumb *e1, const Ethumb *e2) ethumb_cmp(const Ethumb *e1, const Ethumb *e2)
{ {
CHECK_FLT_DELTA(crop_x);
CHECK_FLT_DELTA(crop_y);
CHECK_FLT_DELTA(video.start);
CHECK_FLT_DELTA(video.time);
CHECK_FLT_DELTA(video.interval);
CHECK_DELTA(thumb_dir); CHECK_DELTA(thumb_dir);
CHECK_DELTA(category); CHECK_DELTA(category);
CHECK_DELTA(tw); CHECK_DELTA(tw);
@ -1749,15 +1758,10 @@ ethumb_cmp(const Ethumb *e1, const Ethumb *e2)
CHECK_DELTA(format); CHECK_DELTA(format);
CHECK_DELTA(aspect); CHECK_DELTA(aspect);
CHECK_DELTA(orientation); CHECK_DELTA(orientation);
CHECK_DELTA(crop_x);
CHECK_DELTA(crop_y);
CHECK_DELTA(quality); CHECK_DELTA(quality);
CHECK_DELTA(compress); CHECK_DELTA(compress);
CHECK_DELTA(rw); CHECK_DELTA(rw);
CHECK_DELTA(rh); CHECK_DELTA(rh);
CHECK_DELTA(video.start);
CHECK_DELTA(video.time);
CHECK_DELTA(video.interval);
CHECK_DELTA(video.ntimes); CHECK_DELTA(video.ntimes);
CHECK_DELTA(video.fps); CHECK_DELTA(video.fps);
CHECK_DELTA(document.page); CHECK_DELTA(document.page);
@ -1771,8 +1775,12 @@ ethumb_length(EINA_UNUSED const void *key)
return sizeof (Ethumb); return sizeof (Ethumb);
} }
#define CMP_PARAM(Param) \ #define CMP_PARAM(Param) \
if (e1->Param != e2->Param) \ if (e1->Param != e2->Param) \
return e1->Param - e2->Param;
#define CMP_FLT_PARAM(Param) \
if (!EINA_FLT_CMP(e1->Param, e2->Param)) \
return e1->Param - e2->Param; return e1->Param - e2->Param;
EAPI int EAPI int
@ -1782,6 +1790,12 @@ ethumb_key_cmp(const void *key1, EINA_UNUSED int key1_length,
const Ethumb *e1 = key1; const Ethumb *e1 = key1;
const Ethumb *e2 = key2; const Ethumb *e2 = key2;
CMP_FLT_PARAM(crop_x);
CMP_FLT_PARAM(crop_y);
CMP_FLT_PARAM(video.start);
CMP_FLT_PARAM(video.time);
CMP_FLT_PARAM(video.interval);
CMP_PARAM(thumb_dir); CMP_PARAM(thumb_dir);
CMP_PARAM(category); CMP_PARAM(category);
CMP_PARAM(tw); CMP_PARAM(tw);
@ -1789,15 +1803,10 @@ ethumb_key_cmp(const void *key1, EINA_UNUSED int key1_length,
CMP_PARAM(format); CMP_PARAM(format);
CMP_PARAM(aspect); CMP_PARAM(aspect);
CMP_PARAM(orientation); CMP_PARAM(orientation);
CMP_PARAM(crop_x);
CMP_PARAM(crop_y);
CMP_PARAM(quality); CMP_PARAM(quality);
CMP_PARAM(compress); CMP_PARAM(compress);
CMP_PARAM(rw); CMP_PARAM(rw);
CMP_PARAM(rh); CMP_PARAM(rh);
CMP_PARAM(video.start);
CMP_PARAM(video.time);
CMP_PARAM(video.interval);
CMP_PARAM(video.ntimes); CMP_PARAM(video.ntimes);
CMP_PARAM(video.fps); CMP_PARAM(video.fps);
CMP_PARAM(document.page); CMP_PARAM(document.page);