[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