| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Remember the modification time of each directory. This is important
for archives (which are virtual directories right now), but may also
be useful for an automatic update mechanism.
|
|
|
|
| |
Moved some of them to to directory_save.c, and others to database.c.
|
|
|
|
|
| |
directory_is_root() is cheaper than
isRootDirectory(directory_get_path()).
|
| |
|
|
|
|
|
| |
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
|
|
|
|
| |
Replaced myFgets() with fgets() + g_strchomp().
|
|
|
|
| |
Remove duplicated code from MPD.
|
|
|
|
|
|
| |
GLib's g_path_get_basename() is much more reliable than
mpd_basename(). The latter could be tricked into an assertion
failure.
|
|
|
|
|
|
| |
Don't use db_get_directory() and traverse the full path with every
directory being loaded. Just see if the current parent contains the
entry. Everything else would be invalid anyway..
|
|
|
|
|
|
|
| |
A manipulated database could trigger an assertion failure, because the
parent didn't match. Do a proper check if the new directory is within
the parent's. This uses FATAL() to bail out, so MPD still dies, but
it doesn't crash.
|
|
|
|
|
| |
No idea why it was created in directory.h, but it should be in
dirvec.h.
|
|
Remove clutter from directory.c. Everything which saves or loads
to/from the hard disk goes to directory_save.c, and code which sends
directory information to the client is moved into directory_print.c.
|