?? live-uselocale.patch
字號:
Copyright (C) 2008 R茅mi Denis-Courmont.Licensed under GNU General Public License version 2 or higher.diff -ru live.old/liveMedia/include/Locale.hh live/liveMedia/include/Locale.hh--- live.old/liveMedia/include/Locale.hh 2008-07-06 04:10:57.000000000 +0300+++ live/liveMedia/include/Locale.hh 2008-07-13 12:54:21.000000000 +0300@@ -27,23 +27,26 @@ #ifndef LOCALE_NOT_USED #include <locale.h>+#ifdef __APPLE__+#include <xlocale.h>+#endif #else-#ifndef LC_ALL-#define LC_ALL 0+#ifndef LC_ALL_MASK+#define LC_ALL_MASK 0 #endif-#ifndef LC_NUMERIC-#define LC_NUMERIC 4+#ifndef LC_NUMERIC_MASK+#define LC_NUMERIC_MASK 0 #endif+typedef int locale_t; #endif class Locale { public:- Locale(char const* newLocale, int category = LC_ALL);+ Locale(char const* newLocale, int category = LC_ALL_MASK); virtual ~Locale(); private:- int fCategory;- char* fPrevLocale;+ locale_t fLocale, fPrevLocale; }; #endifdiff -ru live.old/liveMedia/Locale.cpp live/liveMedia/Locale.cpp--- live.old/liveMedia/Locale.cpp 2008-07-06 04:10:57.000000000 +0300+++ live/liveMedia/Locale.cpp 2008-07-13 12:55:32.000000000 +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 -ru live.old/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp--- live.old/liveMedia/RTSPClient.cpp 2008-07-06 04:10:57.000000000 +0300+++ live/liveMedia/RTSPClient.cpp 2008-07-13 12:53:35.000000000 +0300@@ -1017,7 +1017,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); sprintf(buf, "Scale: %f\r\n", scale); } @@ -1031,11 +1031,11 @@ buf[0] = '\0'; } else if (end < 0) { // There's no end time:- Locale("C", LC_NUMERIC);+ Locale("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); sprintf(buf, "Range: npt=%.3f-%.3f\r\n", start, end); } @@ -2306,7 +2306,7 @@ if (_strncasecmp(line, "Scale: ", 7) != 0) return False; line += 7; - Locale("C", LC_NUMERIC);+ Locale("C", LC_NUMERIC_MASK); return sscanf(line, "%f", &scale) == 1; } diff -ru live.old/liveMedia/RTSPCommon.cpp live/liveMedia/RTSPCommon.cpp--- live.old/liveMedia/RTSPCommon.cpp 2008-07-06 04:10:57.000000000 +0300+++ live/liveMedia/RTSPCommon.cpp 2008-07-13 12:53:20.000000000 +0300@@ -146,7 +146,7 @@ char const* fields = buf + 7; while (*fields == ' ') ++fields; float start, end;- Locale("C", LC_NUMERIC);+ Locale("C", LC_NUMERIC_MASK); if (sscanf(fields, "npt = %f - %f", &start, &end) == 2) { rangeStart = start; rangeEnd = end;--- live/config.mingw.old 2008-07-27 17:13:52.000000000 +0100+++ live/config.mingw 2008-07-27 17:19:04.000000000 +0100@@ -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__
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -