⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 live.patch

📁 uclinux 下的vlc播放器源代码
💻 PATCH
字号:
diff -ru live/groupsock/Groupsock.cpp live-patched/groupsock/Groupsock.cpp--- live/groupsock/Groupsock.cpp	Thu Nov  6 03:53:15 2003+++ live-patched/groupsock/Groupsock.cpp	Sun Dec  7 21:30:15 2003@@ -26,7 +26,7 @@ #if defined(__WIN32__) || defined(_WIN32) #include <strstrea.h> #else-#include <strstream.h>+#include <strstream> #endif #include <stdio.h> diff -ru live/groupsock/NetInterface.cpp live-patched/groupsock/NetInterface.cpp--- live/groupsock/NetInterface.cpp	Thu Nov  6 03:53:15 2003+++ live-patched/groupsock/NetInterface.cpp	Sun Dec  7 21:30:30 2003@@ -24,7 +24,7 @@ #if defined(__WIN32__) || defined(_WIN32) #include <strstrea.h> #else-#include <strstream.h>+#include <strstream> #endif  ////////// NetInterface //////////--- live/liveMedia/RTSPClient.cpp	2005-10-28 18:54:17.000000000 +0200+++ live-patched/liveMedia/RTSPClient.cpp	2005-10-28 22:04:54.000000000 +0200@@ -32,40 +32,47 @@ #define _strncasecmp strncasecmp #endif -// Experimental support for temporarily setting the locale (e.g., to POSIX,-// for parsing or printing floating-point numbers in protocol headers).-#ifdef USE_LOCALE #include <locale.h>-#else-#ifndef LC_NUMERIC-#define LC_NUMERIC 0-#endif-#endif+#include <stdarg.h> -class Locale {-public:-  Locale(char const* newLocale, int category = LC_NUMERIC)-    : fCategory(category) {-#ifdef USE_LOCALE-    fPrevLocale = strDup(setlocale(category, NULL));-    setlocale(category, newLocale);-#endif-  }+/* Radix safe (always uses .) printf and friends */+int radix_safe_sprintf( char *str, const char *format, ...)+{+    va_list args;+    int result = 0;+    char *locale = NULL; -  virtual ~Locale() {-#ifdef USE_LOCALE-    if (fPrevLocale != NULL) {-      setlocale(fCategory, fPrevLocale);-      delete[] fPrevLocale;-    }-#endif-  }+    locale = strDup( setlocale( LC_NUMERIC, NULL ) );+    setlocale( LC_NUMERIC, "C" );++    va_start( args, format );+    result = vsprintf(str, format, args );+    va_end( args ); -private:-  int fCategory;-  char* fPrevLocale;-};+    setlocale( LC_NUMERIC, locale );+    delete[] locale; +    return result;+}++int radix_safe_sscanf( const char *str, const char *format, ...)+{+    va_list args;+    int result = 0;+    char *locale = NULL;++    locale = strDup( setlocale( LC_NUMERIC, NULL ) );+    setlocale( LC_NUMERIC, "C" );++    va_start( args, format );+    result = vsscanf(str, format, args );+    va_end( args );++    setlocale( LC_NUMERIC, locale );+    delete[] locale;++    return result;+}   ////////// RTSPClient //////////@@ -948,8 +955,7 @@     // This is the default value; we don't need a "Scale:" header:     buf[0] = '\0';   } else {-    Locale("POSIX");-    sprintf(buf, "Scale: %f\r\n", scale);+    radix_safe_sprintf(buf, "Scale: %f\r\n", scale);   }    return strDup(buf);@@ -962,12 +968,10 @@     buf[0] = '\0';   } else if (end < 0) {     // There's no end time:-    Locale("POSIX");-    sprintf(buf, "Range: npt=%.3f-\r\n", start);+    radix_safe_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("POSIX");-    sprintf(buf, "Range: npt=%.3f-%.3f\r\n", start, end);+    radix_safe_sprintf(buf, "Range: npt=%.3f-%.3f\r\n", start, end);   }    return strDup(buf);@@ -2153,8 +2157,7 @@   if (_strncasecmp(line, "Scale: ", 7) != 0) return False;   line += 7; -  Locale("POSIX");-  return sscanf(line, "%f", &scale) == 1;+  return radix_safe_sscanf(line, "%f", &scale) == 1; }  Boolean RTSPClient::parseGetParameterHeader(char const* line, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -