]> code.delx.au - pulseaudio/commitdiff
Make paplay convert names to UTF-8 before sending to the server.
authorPierre Ossman <ossman@cendio.se>
Thu, 18 May 2006 08:21:41 +0000 (08:21 +0000)
committerPierre Ossman <ossman@cendio.se>
Thu, 18 May 2006 08:21:41 +0000 (08:21 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@932 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/utils/paplay.c

index b66c13da575d52858b75f4795592669311563486..effc2a11144d6f55e4a45eb7118de9acb3689186 100644 (file)
@@ -31,6 +31,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <getopt.h>
+#include <locale.h>
 
 #include <sndfile.h>
 
@@ -236,6 +237,8 @@ int main(int argc, char *argv[]) {
         {NULL,          0, NULL, 0}
     };
 
+    setlocale(LC_ALL, "");
+
     if (!(bn = strrchr(argv[0], '/')))
         bn = argv[0];
     else
@@ -348,12 +351,23 @@ int main(int argc, char *argv[]) {
         goto quit;
     }
 
-    if (!client_name)
-        client_name = pa_xstrdup(bn);
+    if (!client_name) {
+        client_name = pa_locale_to_utf8(bn);
+        if (!client_name)
+            client_name = pa_utf8_filter(bn);
+    }
 
     if (!stream_name) {
-        const char *n = sf_get_string(sndfile, SF_STR_TITLE);
-        stream_name = pa_xstrdup(n ? n : filename);
+        const char *n;
+
+        n = sf_get_string(sndfile, SF_STR_TITLE);
+
+        if (!n)
+            n = filename;
+
+        stream_name = pa_locale_to_utf8(n);
+        if (!stream_name)
+            stream_name = pa_utf8_filter(n);
     }
     
     if (verbose) {