[PATCH] Add a us_strtof function to prevent some problem
Cyril Mathé
cmathe at actech-innovation.com
Tue Apr 14 11:48:33 CEST 2009
---
include/vlc_charset.h | 3 +++
src/libvlccore.sym | 1 +
src/text/charset.c | 24 ++++++++++++++++++++++++
3 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/include/vlc_charset.h b/include/vlc_charset.h
index ddd50df..5353020 100644
--- a/include/vlc_charset.h
+++ b/include/vlc_charset.h
@@ -111,6 +111,9 @@ static inline char *FromLatin1 (const char *latin)
VLC_EXPORT( const char *, GetFallbackEncoding, ( void ) LIBVLC_USED );
VLC_EXPORT( double, us_strtod, ( const char *, char ** ) LIBVLC_USED );
+#ifdef HAVE_STRTOF
+VLC_EXPORT( float, us_strtof, ( const char *, char ** ) LIBVLC_USED );
+#endif
VLC_EXPORT( double, us_atof, ( const char * ) LIBVLC_USED );
VLC_EXPORT( int, us_asprintf, ( char **, const char *, ... ) LIBVLC_USED );
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index af5a6b1..77a494c 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -385,6 +385,7 @@ update_WaitDownload
us_asprintf
us_atof
us_strtod
+us_strtof
utf8_fopen
utf8_fprintf
utf8_loaddir
diff --git a/src/text/charset.c b/src/text/charset.c
index 6d4d2a7..ee3519e 100644
--- a/src/text/charset.c
+++ b/src/text/charset.c
@@ -91,6 +91,30 @@ double us_strtod( const char *str, char **end )
return res;
}
+#ifdef HAVE_STRTOF
+
+/**
+ * us_strtof() has the same prototype as ANSI C strtof() but it uses the
+ * POSIX/C decimal format, regardless of the current numeric locale.
+ */
+
+float us_strtof( const char *str, char **end )
+{
+ locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL);
+ locale_t oldloc = uselocale (loc);
+ float res = strtof (str, end);
+
+ if (loc != (locale_t)0)
+ {
+ uselocale (oldloc);
+ freelocale (loc);
+ }
+ return res;
+}
+
+#endif
+
+
/**
* us_atof() has the same prototype as ANSI C atof() but it expects a dot
* as decimal separator, regardless of the system locale.
--
1.5.4.3
--=-BGrOaiHwdoVf3lnmCM8I
Content-Disposition: attachment; filename=0006-Change-strtof-to-us_strtof-to-avoid-some-problem.patch
Content-Type: application/mbox; name=0006-Change-strtof-to-us_strtof-to-avoid-some-problem.patch
Content-Transfer-Encoding: 7bit
More information about the vlc-devel
mailing list