[vlc-devel] commit: Fix live555 locale patch once again. (Pavlov Konstantin )
git version control
git at videolan.org
Thu Mar 26 17:44:32 CET 2009
vlc | branch: master | Pavlov Konstantin <thresh at altlinux.ru> | Thu Mar 26 19:42:35 2009 +0300| [6fded96b10e6d753317e222f34effab1f6d325a9] | committer: Pavlov Konstantin
Fix live555 locale patch once again.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6fded96b10e6d753317e222f34effab1f6d325a9
---
extras/contrib/src/Patches/live-uselocale.patch | 114 ++++++++++++-----------
1 files changed, 58 insertions(+), 56 deletions(-)
diff --git a/extras/contrib/src/Patches/live-uselocale.patch b/extras/contrib/src/Patches/live-uselocale.patch
index f092365..4870161 100644
--- a/extras/contrib/src/Patches/live-uselocale.patch
+++ b/extras/contrib/src/Patches/live-uselocale.patch
@@ -1,57 +1,17 @@
Copyright (C) 2008 Rémi Denis-Courmont, adaptation by Felix Kühne (C) 2009.
Licensed under GNU General Public License version 2 or higher.
-diff -ru live-orig/config.mingw live/config.mingw
---- live-orig/config.mingw 2009-02-13 09:09:42.000000000 +0100
-+++ live/config.mingw 2009-02-20 14:17:20.000000000 +0100
+diff -urN live.orig/config.mingw live/config.mingw
+--- live.orig/config.mingw 2009-03-23 01:26:16 +0300
++++ live/config.mingw 2009-03-26 19:17:43 +0300
@@ -1,4 +1,4 @@
-COMPILE_OPTS = $(INCLUDES) -I. -O -DSOCKLEN_T=int
+COMPILE_OPTS = $(INCLUDES) -I. -O -DSOCKLEN_T=int -DLOCALE_NOT_USED
C = c
C_COMPILER = $(CC)
C_FLAGS = $(COMPILE_OPTS) -DUSE_OUR_BZERO=1 -D__MINGW32__
-diff -ru live-orig/liveMedia/Locale.cpp live/liveMedia/Locale.cpp
---- live-orig/liveMedia/Locale.cpp 2009-02-13 09:09:42.000000000 +0100
-+++ live/liveMedia/Locale.cpp 2009-02-20 14:17:20.000000000 +0100
-@@ -22,19 +22,18 @@
- #include "Locale.hh"
- #include <strDup.hh>
-
--Locale::Locale(char const* newLocale, int category)
-- : fCategory(category) {
-+Locale::Locale(char const* newLocale, int category) {
- #ifndef LOCALE_NOT_USED
-- fPrevLocale = strDup(setlocale(category, NULL));
-- setlocale(category, newLocale);
-+ fLocale = newlocale(category, newLocale, NULL);
-+ fPrevLocale = uselocale(fLocale);
- #endif
- }
-
- Locale::~Locale() {
- #ifndef LOCALE_NOT_USED
-- if (fPrevLocale != NULL) {
-- setlocale(fCategory, fPrevLocale);
-- delete[] fPrevLocale;
-+ if (fLocale != (locale_t)0) {
-+ uselocale(fPrevLocale);
-+ freelocale(fLocale);
- }
- #endif
- }
---- live/liveMedia/RTSPCommon.cpp.orig 2009-01-26 20:18:41.000000000 +0100
-+++ live/liveMedia/RTSPCommon.cpp 2009-03-25 20:35:43.000000000 +0100
-@@ -146,7 +146,7 @@
- char const* fields = buf + 7;
- while (*fields == ' ') ++fields;
- double start, end;
-- Locale("C", LC_NUMERIC);
-+ Locale("C", LC_NUMERIC_MASK);
- if (sscanf(fields, "npt = %lf - %lf", &start, &end) == 2) {
- rangeStart = start;
- rangeEnd = end;diff -ru live-orig/liveMedia/RTSPCommon.cpp live/liveMedia/RTSPCommon.cpp
-diff -ru live-orig/liveMedia/include/Locale.hh live/liveMedia/include/Locale.hh
---- live-orig/liveMedia/include/Locale.hh 2009-02-13 09:09:42.000000000 +0100
-+++ live/liveMedia/include/Locale.hh 2009-02-20 14:17:20.000000000 +0100
+diff -urN live.orig/liveMedia/include/Locale.hh live/liveMedia/include/Locale.hh
+--- live.orig/liveMedia/include/Locale.hh 2009-03-23 01:26:16 +0300
++++ live/liveMedia/include/Locale.hh 2009-03-26 19:17:43 +0300
@@ -27,23 +27,26 @@
#ifndef LOCALE_NOT_USED
@@ -86,14 +46,44 @@ diff -ru live-orig/liveMedia/include/Locale.hh live/liveMedia/include/Locale.hh
};
#endif
---- live/liveMedia/RTSPClient.cpp.orig 2009-01-26 20:18:41.000000000 +0100
-+++ live/liveMedia/RTSPClient.cpp 2009-03-25 20:35:18.000000000 +0100
+diff -urN live.orig/liveMedia/Locale.cpp live/liveMedia/Locale.cpp
+--- live.orig/liveMedia/Locale.cpp 2009-03-23 01:26:16 +0300
++++ live/liveMedia/Locale.cpp 2009-03-26 19:17:43 +0300
+@@ -22,19 +22,18 @@
+ #include "Locale.hh"
+ #include <strDup.hh>
+
+-Locale::Locale(char const* newLocale, int category)
+- : fCategory(category) {
++Locale::Locale(char const* newLocale, int category) {
+ #ifndef LOCALE_NOT_USED
+- fPrevLocale = strDup(setlocale(category, NULL));
+- setlocale(category, newLocale);
++ fLocale = newlocale(category, newLocale, NULL);
++ fPrevLocale = uselocale(fLocale);
+ #endif
+ }
+
+ Locale::~Locale() {
+ #ifndef LOCALE_NOT_USED
+- if (fPrevLocale != NULL) {
+- setlocale(fCategory, fPrevLocale);
+- delete[] fPrevLocale;
++ if (fLocale != (locale_t)0) {
++ uselocale(fPrevLocale);
++ freelocale(fLocale);
+ }
+ #endif
+ }
+diff -urN live.orig/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp
+--- live.orig/liveMedia/RTSPClient.cpp 2009-03-23 01:26:16 +0300
++++ live/liveMedia/RTSPClient.cpp 2009-03-26 19:29:38 +0300
@@ -1019,7 +1019,7 @@
// This is the default value; we don't need a "Scale:" header:
buf[0] = '\0';
} else {
-- Locale("C", LC_NUMERIC);
-+ Locale("C", LC_NUMERIC_MASK);
+- Locale l("C", LC_NUMERIC);
++ Locale l("C", LC_NUMERIC_MASK);
sprintf(buf, "Scale: %f\r\n", scale);
}
@@ -101,13 +91,13 @@ diff -ru live-orig/liveMedia/include/Locale.hh live/liveMedia/include/Locale.hh
buf[0] = '\0';
} else if (end < 0) {
// There's no end time:
-- Locale("C", LC_NUMERIC);
-+ Locale("C", LC_NUMERIC_MASK);
+- Locale l("C", LC_NUMERIC);
++ Locale l("C", LC_NUMERIC_MASK);
sprintf(buf, "Range: npt=%.3f-\r\n", start);
} else {
// There's both a start and an end time; include them both in the "Range:" hdr
-- Locale("C", LC_NUMERIC);
-+ Locale("C", LC_NUMERIC_MASK);
+- Locale l("C", LC_NUMERIC);
++ Locale l("C", LC_NUMERIC_MASK);
sprintf(buf, "Range: npt=%.3f-%.3f\r\n", start, end);
}
@@ -115,8 +105,20 @@ diff -ru live-orig/liveMedia/include/Locale.hh live/liveMedia/include/Locale.hh
if (_strncasecmp(line, "Scale: ", 7) != 0) return False;
line += 7;
-- Locale("C", LC_NUMERIC);
-+ Locale("C", LC_NUMERIC_MASK);
+- Locale l("C", LC_NUMERIC);
++ Locale l("C", LC_NUMERIC_MASK);
return sscanf(line, "%f", &scale) == 1;
}
+diff -urN live.orig/liveMedia/RTSPCommon.cpp live/liveMedia/RTSPCommon.cpp
+--- live.orig/liveMedia/RTSPCommon.cpp 2009-03-23 01:26:16 +0300
++++ live/liveMedia/RTSPCommon.cpp 2009-03-26 19:23:25 +0300
+@@ -146,7 +146,7 @@
+ char const* fields = buf + 7;
+ while (*fields == ' ') ++fields;
+ double start, end;
+- Locale l("C", LC_NUMERIC);
++ Locale l("C", LC_NUMERIC_MASK);
+ if (sscanf(fields, "npt = %lf - %lf", &start, &end) == 2) {
+ rangeStart = start;
+ rangeEnd = end;
More information about the vlc-devel
mailing list