[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: [PATCH 1/1] fix parse_duration_str with LOCALE_SUPPORT
From: Maxim Kochetkov <fido_max () inbox ! ru>
Date: 2021-03-22 5:22:08
Message-ID: 20210322052209.36482-1-fido_max () inbox ! ru
[Download RAW message or body]
Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
---
coreutils/sleep.c | 4 ----
libbb/duration.c | 7 +++++++
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/coreutils/sleep.c b/coreutils/sleep.c
index 7bfaab920..2658e84df 100644
--- a/coreutils/sleep.c
+++ b/coreutils/sleep.c
@@ -74,10 +74,6 @@ int sleep_main(int argc UNUSED_PARAM, char **argv)
sleep(INT_MAX);
#if ENABLE_FEATURE_FANCY_SLEEP
-# if ENABLE_FLOAT_DURATION
- /* undo busybox.c setlocale */
- setlocale(LC_NUMERIC, "C");
-# endif
duration = 0;
do {
duration += parse_duration_str(*argv);
diff --git a/libbb/duration.c b/libbb/duration.c
index 086da15fb..cbbb7336d 100644
--- a/libbb/duration.c
+++ b/libbb/duration.c
@@ -33,6 +33,10 @@ static const struct suffix_mult duration_suffixes[] ALIGN_SUFFIX = {
duration_t FAST_FUNC parse_duration_str(char *str)
{
duration_t duration;
+# if ENABLE_LOCALE_SUPPORT
+ /* undo busybox.c setlocale */
+ setlocale(LC_NUMERIC, "C");
+# endif
if (strchr(str, '.')) {
double d;
@@ -54,6 +58,9 @@ duration_t FAST_FUNC parse_duration_str(char *str)
duration = xatoul_sfx(str, duration_suffixes);
}
+#if ENABLE_LOCALE_SUPPORT
+ setlocale(LC_NUMERIC, "");
+#endif
return duration;
}
void FAST_FUNC sleep_for_duration(duration_t duration)
--
2.30.2
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic