| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
When a directory failed to update, it was removed from the database,
without freeing all children and songs (memory leak), and without
locking (race condition). Introduce the functions clear_directory()
and delete_directory(), which do both.
|
|
|
|
|
|
| |
Use updateInDirectory() instead of addToDirectory(). Eliminate a
duplicate stat() in updateInDirectory() by calling song_file_update()
directly.
|
|
|
|
|
| |
Some tiny utilities... wrappers like these may become helpful when we
introduce locking.
|
|
|
|
|
| |
No idea why it was created in directory.h, but it should be in
dirvec.h.
|
|
|
|
|
|
|
| |
Commit 0bfe7802 broke update for new files in the root directory,
because music_root->path was an empty string and not NULL. There were
some NULL tests missing. Change them to !isRootDirectory(path)
instead of path!=NULL.
|
|
|
|
|
|
| |
Due to a merge error, reap_update_task() called cond_signal_async()
with a locked mutex. That always fails. Use cond_signal_sync()
instead.
|
|
|
|
| |
CamelCase is ugly, rename the functions.
|
|
|
|
| |
Yet another CamelCase removal patch.
|
|
|
|
|
|
| |
Taming the directory.c monster, part II: move the database management
stuff to database. directory.c should only contain code which works
on directory objects.
|
|
|
|
|
|
| |
Instead of returning 0 or -1, return true on success and false on
failure. This seems more natural, and when the C library was
designed, there was no "bool" data type.
|
|
|
|
| |
CamelCase is ugly... rename all functions.
|
|
|
|
|
|
| |
Provide separate constructors for creating a remote song, a local
song, and one for loading data from a song file. This way, we can add
more assertions.
|
|
|
|
| |
Again, a data type which can be forward-declared.
|
|
|
|
|
| |
The struct can be forward-declared by other headers, which relaxes the
header dependencies.
|
|
|
|
|
|
| |
exploreDirectory() duplicates some code in updateDirectory(). Merge
both functions, and use directory_is_empty() to determine whether
update or explore mode should be used.
|
|
The source directory.c mixes several libraries: directory object
management, database management and database update, resulting in a
1000+ line monster. Move the whole database update code to update.c.
|