diff src/audacious/tuple.c @ 4089:9e24c8746d99

- introduce new API functions uri_to_display_basename() and uri_to_display_dirname(). each function derives utf8 encoded basename or dirname from given uri respectively. - input plugins can use these functions as aud_uri_to_display_basename() / aud_uri_to_display_dirname() on associating FIELD_FILE_NAME / FIELD_FILE_PATH.
author Yoshiki Yazawa <yaz@cc.rim.or.jp>
date Mon, 17 Dec 2007 21:56:17 +0900
parents 7ecdb78a051e
children 8399067f9b1a
line wrap: on
line diff
--- a/src/audacious/tuple.c	Sun Dec 16 18:54:45 2007 +0100
+++ b/src/audacious/tuple.c	Mon Dec 17 21:56:17 2007 +0900
@@ -171,31 +171,26 @@
 Tuple *
 tuple_new_from_filename(const gchar *filename)
 {
-    gchar *scratch, *ext, *realfn;
+    gchar *scratch, *ext;
     Tuple *tuple;
 
     g_return_val_if_fail(filename != NULL, NULL);
 
     tuple = tuple_new();
-    
     g_return_val_if_fail(tuple != NULL, NULL);
 
-    realfn = g_filename_from_uri(filename, NULL, NULL);
-
-    scratch = g_path_get_basename(realfn ? realfn : filename);
+    scratch = uri_to_display_basename(filename);
     _tuple_associate_raw_string(tuple, FIELD_FILE_NAME, NULL, scratch);
     g_free(scratch);
 
-    scratch = g_path_get_dirname(realfn ? realfn : filename);
+    scratch = uri_to_display_dirname(filename);
     _tuple_associate_raw_string(tuple, FIELD_FILE_PATH, NULL, scratch);
     g_free(scratch);
-
-    g_free(realfn); realfn = NULL;
-
+    
     ext = strrchr(filename, '.');
     if (ext != NULL) {
         ++ext;
-        _tuple_associate_raw_string(tuple, FIELD_FILE_EXT, NULL, scratch);
+        _tuple_associate_raw_string(tuple, FIELD_FILE_EXT, NULL, ext);
     }
 
     return tuple;