This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository efl.
View the commit online.
commit 601b32ffa6dd36437342fb35bb2e943f21bc3243
Author: Carsten Haitzler <ras...@rasterman.com>
AuthorDate: Wed Oct 23 17:06:46 2024 +0100
atof general - fix to use eina n0on locale variant atof
somehow we never noticed ... if your locale uses , not . for float
seps.. efl won't be happy - luckily we have eina_convert_strtod_c()
that does . as a separator and will thus not care about locale and
do floats the . way as we expect. use it all over.
@fix
---
src/bin/edje/edje_cc_parse.c | 2 +-
src/bin/edje/edje_player.c | 10 +++++-----
src/bin/elementary/config.c | 2 +-
src/bin/elementary/elm_prefs_cc_parse.c | 2 +-
src/bin/elementary/perf.c | 4 ++--
src/bin/elementary/test_efl_gfx_vg_value_provider.c | 2 +-
src/bin/exactness/player.c | 2 +-
src/examples/ecore/ecore_audio_playback.c | 2 +-
src/examples/eet/eet-data-file_descriptor_02.c | 6 +++---
src/lib/edje/edje_program.c | 2 +-
src/lib/edje/edje_textblock_styles.c | 2 +-
src/lib/edje/edje_var.c | 4 ++--
src/lib/efreet/efreet_ini.c | 2 +-
src/lib/elementary/elm_config.c | 6 +++---
src/lib/elementary/elm_flipselector.c | 4 ++--
src/lib/elementary/elm_util.c | 12 +-----------
src/lib/embryo/embryo_float.c | 2 +-
src/lib/evas/canvas/evas_object_textblock.c | 2 +-
18 files changed, 29 insertions(+), 39 deletions(-)
diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c
index 32d06350e3..af8a552c3e 100644
--- a/src/bin/edje/edje_cc_parse.c
+++ b/src/bin/edje/edje_cc_parse.c
@@ -1891,7 +1891,7 @@ _get_numf(char *s, double *val)
pos++;
}
buf[pos] = '\0';
- (*val) = atof(buf);
+ (*val) = eina_convert_strtod_c(buf, NULL);
return s + pos;
}
diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
index 7d79ec0d7a..b4363de152 100644
--- a/src/bin/edje/edje_player.c
+++ b/src/bin/edje/edje_player.c
@@ -123,7 +123,7 @@ static void
_slave_mode_message_int(Evas_Object *edje, int id, char *arg)
{
Edje_Message_Int msg;
- msg.val = atoi(arg);
+ msg.val =atoi(arg);
edje_object_message_send(edje, EDJE_MESSAGE_INT, id, &msg);
}
@@ -131,7 +131,7 @@ static void
_slave_mode_message_float(Evas_Object *edje, int id, char *arg)
{
Edje_Message_Float msg;
- msg.val = atof(arg);
+ msg.val = eina_convert_strtod_c(arg, NULL);
edje_object_message_send(edje, EDJE_MESSAGE_FLOAT, id, &msg);
}
@@ -205,7 +205,7 @@ _slave_mode_message_float_set(Evas_Object *edje, int id, char *arg,
fputs("ERROR: Message missing arg.\n", stderr);
return;
}
- msg->val[i] = atof(extra_args);
+ msg->val[i] = eina_convert_strtod_c(extra_args, NULL);
extra_args = next;
}
@@ -246,7 +246,7 @@ _slave_mode_message_string_float(Evas_Object *edje, int id, char *arg,
_slave_mode_tok(&extra_args);
msg.str = arg;
- msg.val = atof(extra_args);
+ msg.val = eina_convert_strtod_c(extra_args, NULL);
edje_object_message_send(edje, EDJE_MESSAGE_STRING_FLOAT, id, &msg);
}
@@ -314,7 +314,7 @@ _slave_mode_message_string_float_set(Evas_Object *edje, int id, char *arg,
fputs("ERROR: Message missing arg.\n", stderr);
return;
}
- msg->val[i] = atof(val);
+ msg->val[i] = eina_convert_strtod_c(val, NULL);
val = next;
}
diff --git a/src/bin/elementary/config.c b/src/bin/elementary/config.c
index 2cfc3c8841..845b1b25df 100644
--- a/src/bin/elementary/config.c
+++ b/src/bin/elementary/config.c
@@ -4538,7 +4538,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev)
{
if (theme_set) elm_theme_set(NULL, theme_set);
if (finger_size_set) elm_config_finger_size_set(atoi(finger_size_set));
- if (scale_set) elm_config_scale_set(atof(scale_set));
+ if (scale_set) elm_config_scale_set(eina_convert_strtod_c(scale_set, NULL));
if (web_backend) elm_config_web_backend_set(web_backend);
elm_config_all_flush();
diff --git a/src/bin/elementary/elm_prefs_cc_parse.c b/src/bin/elementary/elm_prefs_cc_parse.c
index fa960ac326..54b27b2f8b 100644
--- a/src/bin/elementary/elm_prefs_cc_parse.c
+++ b/src/bin/elementary/elm_prefs_cc_parse.c
@@ -1276,7 +1276,7 @@ _get_numf(char *s, double *val)
pos++;
}
buf[pos] = '\0';
- (*val) = atof(buf);
+ (*val) = eina_convert_strtod_c(buf, NULL);
return s + pos;
}
diff --git a/src/bin/elementary/perf.c b/src/bin/elementary/perf.c
index 5f5b9b822d..2b2666311e 100644
--- a/src/bin/elementary/perf.c
+++ b/src/bin/elementary/perf.c
@@ -242,12 +242,12 @@ elm_main(int argc, char **argv)
else if ((!strcmp(argv[i], "-r")) && (i < (argc - 1)))
{
i++;
- run_time = atof(argv[i]);
+ run_time = eina_convert_strtod_c(argv[i], NULL);
}
else if ((!strcmp(argv[i], "-d")) && (i < (argc - 1)))
{
i++;
- spin_up_delay = atof(argv[i]);
+ spin_up_delay = eina_convert_strtod_c(argv[i], NULL);
}
}
if (!tests_to_do)
diff --git a/src/bin/elementary/test_efl_gfx_vg_value_provider.c b/src/bin/elementary/test_efl_gfx_vg_value_provider.c
index 991c5c4e9d..5f32ef63a4 100644
--- a/src/bin/elementary/test_efl_gfx_vg_value_provider.c
+++ b/src/bin/elementary/test_efl_gfx_vg_value_provider.c
@@ -82,7 +82,7 @@ add_value_provider(char* new_path, char* new_type, char* new_values)
for( int i = 0; i < value_cnt; i++)
{
char* v = (char*)efl_text_get(values[i]);
- if (v) value[i] = atof(v);
+ if (v) value[i] = eina_convert_strtod_c(v, NULL);
}
eina_matrix4_identity(&m);
diff --git a/src/bin/exactness/player.c b/src/bin/exactness/player.c
index 796c385d47..6802c72efe 100644
--- a/src/bin/exactness/player.c
+++ b/src/bin/exactness/player.c
@@ -1074,7 +1074,7 @@ eina_init(void)
_stabilize_shots = !!getenv("EXACTNESS_STABILIZE_SHOTS");
_verbose = !!getenv("EXACTNESS_VERBOSE");
if (speed)
- _speed = atof(speed);
+ _speed = eina_convert_strtod_c(speed, NULL);
_log_domain = eina_log_domain_register("exactness_player", NULL);
if (!_setup_dest_type(dest, !!external_injection))
diff --git a/src/examples/ecore/ecore_audio_playback.c b/src/examples/ecore/ecore_audio_playback.c
index 09a7325d7d..dc08a924a8 100644
--- a/src/examples/ecore/ecore_audio_playback.c
+++ b/src/examples/ecore/ecore_audio_playback.c
@@ -271,7 +271,7 @@ main(int argc, const char *argv[])
freq = atoi(&val[5]);
efl_key_data_set(in, ECORE_AUDIO_ATTR_TONE_FREQ, &freq);
} else if (!strncmp(val, "duration=", 9)) {
- ecore_audio_obj_in_length_set(in, atof(&val[9]));
+ ecore_audio_obj_in_length_set(in, eina_convert_strtod_c(&val[9], NULL));
}
}
free(tmp);
diff --git a/src/examples/eet/eet-data-file_descriptor_02.c b/src/examples/eet/eet-data-file_descriptor_02.c
index e0ca00d6fd..b36cad6f51 100644
--- a/src/examples/eet/eet-data-file_descriptor_02.c
+++ b/src/examples/eet/eet-data-file_descriptor_02.c
@@ -374,7 +374,7 @@ _union_1_new(const char *v1,
}
un->type = EET_STRUCT1;
- _st1_set(&(un->u.st1), atof(v1), atoi(v2), eina_stringshare_add(v3));
+ _st1_set(&(un->u.st1), eina_convert_strtod_c(v1, NULL), atoi(v2), eina_stringshare_add(v3));
return un;
}
@@ -426,7 +426,7 @@ _union_float_new(const char *v1)
}
un->type = EET_BASIC_FLOAT;
- un->u.f = atof(v1);
+ un->u.f = eina_convert_strtod_c(v1, NULL);
return un;
}
@@ -464,7 +464,7 @@ _variant_1_new(const char *v1,
va->t.type = eet_mapping[0].name;
st1 = calloc(1, sizeof (Example_Struct1));
- _st1_set(st1, atof(v1), atoi(v2), eina_stringshare_add(v3));
+ _st1_set(st1, eina_convert_strtod_c(v1, NULL), atoi(v2), eina_stringshare_add(v3));
va->data = ""
return va;
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index 2ee0c22204..a91d034347 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -2287,7 +2287,7 @@ _edje_param_convert(Edje_External_Param *param, const Edje_External_Param_Info *
case EDJE_EXTERNAL_PARAM_TYPE_STRING:
case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
- d = (param->s) ? atof(param->s) : 0.0;
+ d = (param->s) ? eina_convert_strtod_c(param->s, NULL) : 0.0;
break;
case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
diff --git a/src/lib/edje/edje_textblock_styles.c b/src/lib/edje/edje_textblock_styles.c
index f1461c5890..b0de089fbb 100644
--- a/src/lib/edje/edje_textblock_styles.c
+++ b/src/lib/edje/edje_textblock_styles.c
@@ -167,7 +167,7 @@ _edje_format_reparse(Edje_File *edf, const char *str, Edje_Style_Tag *tag_ret, E
else if (_IS_STRINGS_EQUAL(key, key_len, "font_size", 9))
{
if (tag_ret)
- tag_ret->font_size = atof(val);
+ tag_ret->font_size = eina_convert_strtod_c(val, NULL);
}
else if (_IS_STRINGS_EQUAL(key, key_len, "font", 4)) /* Fix fonts */
{
diff --git a/src/lib/edje/edje_var.c b/src/lib/edje/edje_var.c
index ab92e61fb7..0211a32449 100644
--- a/src/lib/edje/edje_var.c
+++ b/src/lib/edje/edje_var.c
@@ -297,7 +297,7 @@ _edje_var_var_int_get(Edje *ed EINA_UNUSED, Edje_Var *var)
{
double f;
- f = atof(var->data.s.v);
+ f = eina_convert_strtod_c(var->data.s.v, NULL);
free(var->data.s.v);
var->data.s.v = NULL;
var->data.i.v = (int)f;
@@ -367,7 +367,7 @@ _edje_var_var_float_get(Edje *ed EINA_UNUSED, Edje_Var *var)
{
double f;
- f = atof(var->data.s.v);
+ f = eina_convert_strtod_c(var->data.s.v, NULL);
free(var->data.s.v);
var->data.s.v = NULL;
var->data.f.v = f;
diff --git a/src/lib/efreet/efreet_ini.c b/src/lib/efreet/efreet_ini.c
index dc35d8550b..ef1266867f 100644
--- a/src/lib/efreet/efreet_ini.c
+++ b/src/lib/efreet/efreet_ini.c
@@ -351,7 +351,7 @@ efreet_ini_double_get(Efreet_Ini *ini, const char *key)
EINA_SAFETY_ON_NULL_RETURN_VAL(key, -1);
str = efreet_ini_string_get(ini, key);
- if (str) return atof(str);
+ if (str) return eina_convert_strtod_c(str, NULL);
return -1;
}
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index b54b0d076c..4ca53ad1f1 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -3024,9 +3024,9 @@ _env_get(void)
s = _getenv_once("ELM_SCROLL_ANIMATION_DISABLE");
if (s) _elm_config->scroll_animation_disable = !!atoi(s);
s = _getenv_once("ELM_SCROLL_ACCEL_FACTOR");
- if (s) _elm_config->scroll_accel_factor = atof(s);
+ if (s) _elm_config->scroll_accel_factor = _elm_atof(s);
// s = _getenv_once("ELM_SCROLL_SMOOTH_TIME_INTERVAL"); // not used anymore
-// if (s) _elm_config->scroll_smooth_time_interval = atof(s); // not used anymore
+// if (s) _elm_config->scroll_smooth_time_interval = _elm_atof(s); // not used anymore
s = _getenv_once("ELM_SCROLL_SMOOTH_AMOUNT");
if (s) _elm_config->scroll_smooth_amount = _elm_atof(s);
// s = _getenv_once("ELM_SCROLL_SMOOTH_HISTORY_WEIGHT"); // not used anymore
@@ -3237,7 +3237,7 @@ _env_get(void)
if (s) _elm_config->spinner_min_max_filter_enable = !!atoi(s);
s = _getenv_once("ELM_TRANSITION_DURATION_FACTOR");
- if (s) _elm_config->transition_duration_factor = atof(s);
+ if (s) _elm_config->transition_duration_factor = _elm_atof(s);
s = _getenv_once("ELM_POPUP_HORIZONTAL_ALIGN");
if (s) _elm_config->popup_horizontal_align = _elm_atof(s);
diff --git a/src/lib/elementary/elm_flipselector.c b/src/lib/elementary/elm_flipselector.c
index 51481a9ad0..c7acf8bd6b 100644
--- a/src/lib/elementary/elm_flipselector.c
+++ b/src/lib/elementary/elm_flipselector.c
@@ -518,7 +518,7 @@ _elm_flipselector_efl_ui_range_display_range_value_get(const Eo *obj EINA_UNUSED
return 0;
}
ELM_FLIPSELECTOR_ITEM_DATA_GET(sd->current->data, item);
- return atof(item->label);
+ return eina_convert_strtod_c(item->label, NULL);
}
EOLIAN static void
@@ -529,7 +529,7 @@ _elm_flipselector_efl_ui_range_display_range_value_set(Eo *obj EINA_UNUSED, Elm_
EINA_LIST_FOREACH(sd->items, l, it)
{
- if (atof(elm_object_item_text_get(it)) >= val)
+ if (eina_convert_strtod_c(elm_object_item_text_get(it), NULL) >= val)
break;
}
elm_flipselector_item_selected_set(it, EINA_TRUE);
diff --git a/src/lib/elementary/elm_util.c b/src/lib/elementary/elm_util.c
index 101afe9bb3..49559502cd 100644
--- a/src/lib/elementary/elm_util.c
+++ b/src/lib/elementary/elm_util.c
@@ -54,16 +54,6 @@ _elm_util_text_to_mkup(const char *text)
double
_elm_atof(const char *s)
{
- char *cradix, *buf, *p;
-
if ((!s) || (!s[0])) return 0.0;
- cradix = nl_langinfo(RADIXCHAR);
- if (!cradix) return atof(s);
- buf = alloca(strlen(s) + 1);
- strcpy(buf, s);
- for (p = buf; *p; p++)
- {
- if (*p == '.') *p = *cradix;
- }
- return atof(buf);
+ return eina_convert_strtod_c(s, NULL);
}
diff --git a/src/lib/embryo/embryo_float.c b/src/lib/embryo/embryo_float.c
index f1e51df96d..2aaeffbdb1 100644
--- a/src/lib/embryo/embryo_float.c
+++ b/src/lib/embryo/embryo_float.c
@@ -99,7 +99,7 @@ _embryo_fp_str(Embryo_Program *ep, Embryo_Cell *params)
len = embryo_data_string_length_get(ep, str);
if ((len == 0) || (len >= (int)sizeof(buf))) return 0;
embryo_data_string_get(ep, str, buf);
- f = (float)atof(buf);
+ f = (float)eina_convert_strtod_c(buf, NULL);
return EMBRYO_FLOAT_TO_CELL(f);
}
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index ab9363d357..f1bd552cb3 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -2984,7 +2984,7 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch
* underline_height=<floatingnumber>
* @endcode
*/
- fmt->underline_height = atof(param);
+ fmt->underline_height = eina_convert_strtod_c(param, NULL);
if (fmt->underline_height <= 0.0) fmt->underline_height = 1.0;
}
else if (cmd == gfx_filterstr)
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.