path: replaced mpd_basename() with g_path_get_basename()

GLib's g_path_get_basename() is much more reliable than
mpd_basename().  The latter could be tricked into an assertion
failure.
This commit is contained in:
Max Kellermann
2008-10-20 22:18:12 +02:00
parent 99e82a2ef2
commit ba96920a52
6 changed files with 30 additions and 29 deletions

View File

@@ -4,6 +4,7 @@
#include "path.h"
#include <string.h>
#include <glib.h>
static size_t dv_size(struct dirvec *dv)
{
@@ -25,13 +26,18 @@ void dirvec_sort(struct dirvec *dv)
struct directory *dirvec_find(const struct dirvec *dv, const char *path)
{
char *basename;
int i;
path = mpd_basename(path);
basename = g_path_get_basename(path);
for (i = dv->nr; --i >= 0; )
if (!strcmp(directory_get_name(dv->base[i]), path))
if (!strcmp(directory_get_name(dv->base[i]), basename)) {
g_free(basename);
return dv->base[i];
}
g_free(basename);
return NULL;
}