forked from enlightenment/efl
fix conversion to handle -0x0p+0 (negatives) properly - or at least matching
the output. SVN revision: 31810
This commit is contained in:
parent
e769f25d10
commit
d88b5cfe37
|
@ -402,8 +402,8 @@ static int
|
|||
eet_data_get_double(void *src, void *src_end, void *dst)
|
||||
{
|
||||
double *d;
|
||||
long long mantisse;
|
||||
long exponent;
|
||||
long long mantisse = 0;
|
||||
long exponent = 0;
|
||||
char *s, *str, *p;
|
||||
int len;
|
||||
|
||||
|
|
|
@ -73,20 +73,20 @@ _eet_string_to_double_convert(const char *src, long long *m, long *e)
|
|||
sign = -1;
|
||||
str++;
|
||||
}
|
||||
else if (*str == '0')
|
||||
if (*str == '0')
|
||||
{
|
||||
str++;
|
||||
if (*str == 'x')
|
||||
str++;
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "[Eet] Error during conversion\n");
|
||||
fprintf(stderr, "[Eet] Error 1 during conversion of '%s'\n", src);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "[Eet] Error during conversion\n");
|
||||
fprintf(stderr, "[Eet] Error 2 during conversion of '%s'\n", src);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,8 @@ _eet_string_to_double_convert(const char *src, long long *m, long *e)
|
|||
mantisse = -mantisse;
|
||||
if (*str != 'p')
|
||||
{
|
||||
fprintf(stderr, "[Eet] Error during conversion\n");
|
||||
fprintf(stderr, "[Eet] Error 3 during conversion '%s'\n", src);
|
||||
abort();
|
||||
return 0;
|
||||
}
|
||||
sign = +1;
|
||||
|
|
Loading…
Reference in New Issue