The correct diff, sorry.

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/ncmpc/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile    16 Dec 2006 12:22:32 -0000      1.4
+++ Makefile    2 Jan 2007 16:04:09 -0000
@@ -6,6 +6,7 @@
 COMMENT=               "curses based frontend for mpd"
 
 DISTNAME=              ncmpc-0.11.1
+PKGNAME=               ${DISTNAME}p0
 CATEGORIES=            audio
 
 HOMEPAGE=              http://hem.bredband.net/kaw/ncmpc/
Index: patches/patch-src_mpdclient_c
===================================================================
RCS file: patches/patch-src_mpdclient_c
diff -N patches/patch-src_mpdclient_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mpdclient_c       2 Jan 2007 16:04:09 -0000
@@ -0,0 +1,27 @@
+--- src/mpdclient.c.orig       Sun Jan 23 18:37:42 2005
++++ src/mpdclient.c    Tue Jan  2 16:21:06 2007
+@@ -846,10 +846,9 @@
+ {
+   mpdclient_filelist_t *filelist;
+   mpd_InfoEntity *entity;
+-  gchar *path_utf8 = locale_to_utf8(path);
+ 
+-  D("mpdclient_filelist_get(%s)\n", path);
+-  mpd_sendLsInfoCommand(c->connection, path_utf8);
++  D("mpdclient_filelist_get(%s)\n", utf8_to_locale(path));
++  mpd_sendLsInfoCommand(c->connection, path);
+   filelist = g_malloc0(sizeof(mpdclient_filelist_t));
+   if( path && path[0] && strcmp(path, "/") )
+     {
+@@ -871,11 +870,9 @@
+   
+   if( mpdclient_finish_command(c) )
+     {
+-      g_free(path_utf8);
+       return mpdclient_filelist_free(filelist);
+     }
+   
+-  g_free(path_utf8);
+   filelist->path = g_strdup(path);
+   filelist->updated = TRUE;
+ 
Index: patches/patch-src_screen_file_c
===================================================================
RCS file: patches/patch-src_screen_file_c
diff -N patches/patch-src_screen_file_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_screen_file_c     2 Jan 2007 16:04:09 -0000
@@ -0,0 +1,20 @@
+--- src/screen_file.c.orig     Sun Jan 23 18:37:42 2005
++++ src/screen_file.c  Tue Jan  2 16:19:47 2007
+@@ -255,7 +255,7 @@
+       {
+       /* enter sub */
+       mpd_Directory *dir = entity->info.directory;
+-      path = utf8_to_locale(dir->path);      
++              path = g_strdup(dir->path);
+       /* save current list window state */
+       push_lw_state(); 
+       list_window_reset(lw);
+@@ -566,7 +566,7 @@
+ static char *
+ browse_title(char *str, size_t size)
+ {
+-  g_snprintf(str, size, _("Browse: %s"), basename(filelist->path));
++  g_snprintf(str, size, _("Browse: %s"), 
utf8_to_locale(basename(filelist->path)));
+   return str;
+ }
+ 
Index: patches/patch-src_support_c
===================================================================
RCS file: patches/patch-src_support_c
diff -N patches/patch-src_support_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_support_c 2 Jan 2007 16:04:09 -0000
@@ -0,0 +1,29 @@
+--- src/support.c.orig Sun Jan 23 18:37:41 2005
++++ src/support.c      Tue Jan  2 16:16:16 2007
+@@ -149,6 +149,7 @@
+   gchar *str;
+   gsize rb, wb;
+   GError *error;
++  const char *charset;
+ 
+   if( noconvert )
+     return g_strdup(utf8str);
+@@ -156,15 +157,11 @@
+   rb = 0; /* bytes read */
+   wb = 0; /* bytes written */
+   error = NULL;
+-  str=g_locale_from_utf8(utf8str, 
+-                       strlen(utf8str),
+-                       &wb, &rb,
+-                       &error);
++  g_get_charset(&charset);
++  str = g_convert_with_fallback(
++      utf8str, -1, charset, "UTF-8", "?", &rb, &wb, &error);
+   if( error )
+     {
+-      const char *charset;
+-
+-      g_get_charset(&charset);
+       screen_status_printf(_("Error: Unable to convert characters to %s"),
+                          charset);
+       D("utf8_to_locale(): %s\n", error->message);

Reply via email to