Don't list playlists in lsinfo if the path isn't the root directory (they
can't be loaded anyway). git-svn-id: https://svn.musicpd.org/mpd/trunk@6244 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
93b96edacc
commit
c408bd5e90
@ -402,17 +402,18 @@ static int handleListPlaylistInfo(int fd, int *permission,
|
||||
|
||||
static int handleLsInfo(int fd, int *permission, int argc, char *argv[])
|
||||
{
|
||||
if (argc == 1) {
|
||||
if (printDirectoryInfo(fd, NULL) < 0)
|
||||
return -1;
|
||||
else
|
||||
return lsPlaylists(fd, "");
|
||||
} else {
|
||||
if (printDirectoryInfo(fd, argv[1]) < 0)
|
||||
return -1;
|
||||
else
|
||||
return lsPlaylists(fd, argv[1]);
|
||||
}
|
||||
char *path = "";
|
||||
|
||||
if (argc == 2)
|
||||
path = argv[1];
|
||||
|
||||
if (printDirectoryInfo(fd, path) < 0)
|
||||
return -1;
|
||||
|
||||
if (isRootDirectory(path))
|
||||
return lsPlaylists(fd, path);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int handleRm(int fd, int *permission, int argc, char *argv[])
|
||||
|
@ -835,13 +835,21 @@ static Directory *findSubDirectory(Directory * directory, char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int isRootDirectory(char *name)
|
||||
{
|
||||
if (name == NULL || name[0] == '\0' || strcmp(name, "/") == 0) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static Directory *getSubDirectory(Directory * directory, char *name,
|
||||
char **shortname)
|
||||
{
|
||||
Directory *subDirectory;
|
||||
int len;
|
||||
|
||||
if (name == NULL || name[0] == '\0' || strcmp(name, "/") == 0) {
|
||||
if (isRootDirectory(name)) {
|
||||
return directory;
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,8 @@ void initMp3Directory(void);
|
||||
|
||||
void closeMp3Directory(void);
|
||||
|
||||
int isRootDirectory(char *name);
|
||||
|
||||
int printDirectoryInfo(int fd, char *dirname);
|
||||
|
||||
int checkDirectoryDB(void);
|
||||
|
Loading…
Reference in New Issue
Block a user