aboutsummaryrefslogtreecommitdiffstats
path: root/src/command.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-10-11 23:39:50 -0700
committerEric Wong <normalperson@yhbt.net>2008-10-11 23:39:50 -0700
commit0df62a2c3cb7af88347d40a17cc336b5d1740f62 (patch)
tree25040833144c3e24f6b4702d9b745cd068b5371a /src/command.c
parent3456e2de5bf90207d8149a842bb12c3f9bdd218f (diff)
parent6e2b0ca9edaed200f250ef487701ad161aa4a168 (diff)
downloadmpd-0df62a2c3cb7af88347d40a17cc336b5d1740f62.tar.gz
mpd-0df62a2c3cb7af88347d40a17cc336b5d1740f62.tar.xz
mpd-0df62a2c3cb7af88347d40a17cc336b5d1740f62.zip
Merge branch 'mk/directory'
* mk/directory: (59 commits) directory: don't use identical struct and variable names update: replaced update_return with global "modified" flag update: make the variable "progress" static update: don't print debug message when song was not modified update: fix memory leak in directory_update_init() update: make the job id unsigned update: job ID must be positive update: check progress!=IDLE in reap_update_task() update: fixed stack corruption due to pthread_join() call updated: always call removeDeletedFromDirectory() update: eliminated addSubDirectoryToDirectory() update: make the "song" variable more local update: do the recursive directory check only once update: copy stat to new directory update: avoid duplicate stat() calls update: rewrote updatePath() using updateInDirectory() update: don't export updateDirectory() update: pass const pointer to addSubDirectoryToDirectory() update: never pass root path to updatePath() update: merged addDirectoryPathToDB() into addParentPathToDB() ... Conflicts: src/song.c
Diffstat (limited to '')
-rw-r--r--src/command.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/command.c b/src/command.c
index f60f4e69e..518bf5f0d 100644
--- a/src/command.c
+++ b/src/command.c
@@ -19,7 +19,10 @@
#include "command.h"
#include "playlist.h"
#include "ls.h"
+#include "database.h"
#include "directory.h"
+#include "directory_print.h"
+#include "update.h"
#include "volume.h"
#include "stats.h"
#include "myfprintf.h"
@@ -556,15 +559,18 @@ static int handleLsInfo(int fd, mpd_unused int *permission,
int argc, char *argv[])
{
const char *path = "";
+ const struct directory *dir;
if (argc == 2)
path = argv[1];
- if (printDirectoryInfo(fd, path) < 0) {
+ if (!(dir = db_get_directory(path))) {
commandError(fd, ACK_ERROR_NO_EXIST, "directory not found");
return -1;
}
+ directory_print(fd, dir);
+
if (isRootDirectory(path))
return lsPlaylists(fd, path);
@@ -781,14 +787,12 @@ static int handlePlaylistMove(int fd, mpd_unused int *permission,
static int print_update_result(int fd, int ret)
{
- if (ret >= 0) {
+ if (ret > 0) {
fdprintf(fd, "updating_db: %i\n", ret);
return 0;
}
- if (ret == -2)
- commandError(fd, ACK_ERROR_ARG, "invalid path");
- else
- commandError(fd, ACK_ERROR_UPDATE_ALREADY, "already updating");
+ assert(!ret);
+ commandError(fd, ACK_ERROR_UPDATE_ALREADY, "already updating");
return -1;
}