frontport [17287] from branch
authorRafaël Carré <funman@videolan.org>
Thu, 26 Oct 2006 00:14:59 +0000 (00:14 +0000)
committerRafaël Carré <funman@videolan.org>
Thu, 26 Oct 2006 00:14:59 +0000 (00:14 +0000)
modules/gui/wxwidgets/wxwidgets.hpp

index e7a10f7..738d417 100644 (file)
@@ -122,26 +122,29 @@ static inline char *wxDnDFromLocale( const wxChar *stupid )
      * UTF-8 but also Windows-1252(!) and ISO-8859-15(!) or any
      * non-western encoding, it obviously fails.
      */
-    size_t i = 0;
-    while (stupid[i])
-        i++;
 
-    char psz_local[i + 1];
-    if ((i >= 1) && (stupid[i - 1] == '\n'))
-        i--;
+    wxString str(stupid);
+    int i;
 
-    do
+    size_t n = str.Len();
+
+    char psz_local[n+1];
+
+    for(i=0;i<n;i++)
         psz_local[i] = stupid[i];
-    while (i--);
+    psz_local[n] = '\0';
+
+    if( psz_local[n-1] == '\n' )
+        psz_local[n-1] = '\0';
 
     return FromLocaleDup( psz_local );
 }
-#   define wxDnDLocaleFree( string ) free( string )
 #else
 #   define wxDnDFromLocale( string ) wxFromLocale( string )
-#   define wxDnDLocaleFree( string ) wxLocaleFree( string )
 #endif
 
+#define wxDnDLocaleFree( string ) wxLocaleFree( string )
+
 #define WRAPCOUNT 80
 
 #define OPEN_NORMAL 0