]> git.sesse.net Git - vlc/commitdiff
Cleanup directory URI encoding
authorRémi Denis-Courmont <rdenis@simphalempin.com>
Thu, 30 Oct 2008 20:08:59 +0000 (22:08 +0200)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Thu, 30 Oct 2008 20:09:18 +0000 (22:09 +0200)
modules/access/directory.c

index 1fffcefe7636774dba0143c8222b2cb3c59d5d11..9b9705a6508a4aa38615b92b5fac8426627ceca9 100644 (file)
@@ -343,8 +343,8 @@ static block_t *Block (access_t *p_access)
         return NULL;
     }
 
-    /* Skip current and parent directories */
-    if (entry[0] == '.' )
+    /* Skip current, parent and hidden directories */
+    if (entry[0] == '.')
         return NULL;
     /* Handle recursion */
     if (p_sys->mode != MODE_COLLAPSE)
@@ -360,7 +360,12 @@ static block_t *Block (access_t *p_access)
         {
             sub->parent = current;
             sub->handle = handle;
-            sub->uri = encode_path (sub->path);
+
+            char *encoded = encode_URI_component (entry);
+            if ((encoded == NULL)
+             || (asprintf (&sub->uri, "%s/%s", current->uri, encoded) == -1))
+                 sub->uri = NULL;
+            free (encoded);
 
             if ((p_sys->mode == MODE_NONE)
              || fstat (dirfd (handle), &sub->st)