aboutsummaryrefslogtreecommitdiffstats
path: root/src/update_walk.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-03update_walk: fix unsafe readlink() usageMax Kellermann1-2/+10
2012-07-10require GLib 2.16Max Kellermann1-1/+0
GLib 2.16 was released more than 4 years ago. Let's remove some cruft from the glib_compat.h header, and avoid new cruft to it.
2012-06-13update_walk: move code to update_song.cMax Kellermann1-84/+2
2012-06-13update_walk: move code to update_container.cMax Kellermann1-91/+1
2012-06-13update_walk: move code to update_archive.cMax Kellermann1-135/+6
2012-06-13update_internal.h: split headerMax Kellermann1-1/+4
2012-06-13update_walk: split update_regular_file()Max Kellermann1-21/+58
2012-06-13directory: require db lock for _{add,remove}_song()Max Kellermann1-0/+8
2012-06-13update_walk: add "pure" attributesMax Kellermann1-0/+2
2012-06-13update_walk: move code to make_directory_if_modified()Max Kellermann1-21/+39
2012-06-13update_walk: fix coding styleMax Kellermann1-94/+67
2012-06-12Work around incorrect g_file_test() behavior on Win32Denis Krjuchkov1-0/+1
g_file_test is redefined to be g_file_test_utf8 and thus can't handle non-ASCII characters. This fix adds simple wrapper (taken from glib) that fixes encoding and calls g_file_test_utf8. All required inclusions of glib_compat.h are added as well.
2012-04-04update: properly skip symlinks in path that is to be updated.Anton Khirnov1-1/+5
2012-02-13playlist_vector: require database lock for all functionsMax Kellermann1-1/+6
2012-02-12playlist_vector: use the list_head libraryMax Kellermann1-6/+3
2012-02-12update_walk: move code to update_db.cMax Kellermann1-85/+4
2012-02-12update_walk: move code to update_io.cMax Kellermann1-100/+1
2012-02-12update_walk: move code to update_song_file()Max Kellermann1-59/+64
2012-02-11decoder_plugin: scan tags with callback tableMax Kellermann1-1/+5
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
2012-02-02directory: require the caller to lock the db_mutexMax Kellermann1-3/+65
Reduce the number of lock/unlock cycles, and make database handling safer.
2012-02-02update_walk: use directory_make_child()Max Kellermann1-5/+2
2012-01-24directory: replace songvec with doubly linked listMax Kellermann1-47/+28
2012-01-24directory: add function directory_get_song(), ...Max Kellermann1-10/+8
Wrap songvec_find() and other songvec methods.
2012-01-24directory: replace dirvec with doubly linked listMax Kellermann1-17/+9
Random access is not needed, and a linked list is easier to manage: we don't need to (re-)allocate the pointer array.
2012-01-24directory: simplify constructors and clarify API documentationMax Kellermann1-51/+22
Pass only the "name" to a directory, instead of the full (relative) path.
2011-12-13update_walk: print debug message for song_file_load()Max Kellermann1-0/+2
2011-11-27directory: rename attribute "stat" to "have_stat"Max Kellermann1-2/+2
"stat" is a macro on mingw32, which is a pretty stupid thing, and this commit works around this build failure.
2011-11-27directory: convert "stat" to a boolMax Kellermann1-1/+1
2011-07-20update_walk: apply follow_inside_symlinks to absolute symlinksMax Kellermann1-2/+8
2011-03-18update_walk: ignore parameter "mode" on WIN32Max Kellermann1-0/+1
Fix compiler warning.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-11-08update_walk: explicitly check for permission problemsMax Kellermann1-0/+33
Call access() and print an extra error message when EACCES is returned. Hopefully this will reduce the number of support requests due to wrong file permissions.
2010-09-07update_walk: update existing playlist entryMax Kellermann1-1/+3
Fixes duplicate playlist entries.
2010-07-21update: store playlist files in databaseMax Kellermann1-0/+31
Don't open the music directory for each "lsinfo" call. Get the list of playlist files from the memory database.
2010-05-19update_walk: don't check recursive symlinks on WIN32Max Kellermann1-0/+8
inode numbers don't work on WIN32, and very few WIN32 users actually use symlinks - seems ok to disable that check.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-16archive_plugin: use GError in the open() methodMax Kellermann1-2/+4
2009-12-16archive_plugin: wrap method callsMax Kellermann1-4/+4
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
2009-12-15archive_api.h: moved struct archive_plugin to archive_plugin.hMax Kellermann1-1/+1
2009-12-15archive_list: don't include archive_api.hMax Kellermann1-0/+1
Use struct forward declarations.
2009-11-11update: added missing config.h includesMax Kellermann1-0/+5
This broke sticker and archive support.
2009-11-07update_walk: log new container filesMax Kellermann1-1/+4
2009-11-05update_walk: log unrecognized filesMax Kellermann1-2/+9
When a song's tags could not be loaded during database update, log this as a debug message. Same for a song being removed because its updated tag could not be read.
2009-10-20mapper, update, ...: use g_build_filename(), G_DIR_SEPARATOR, ...Max Kellermann1-4/+3
Try to be as portable as possible, use GLib path name functions and macros.
2009-10-16update: obey .mpdignore filesMax Kellermann1-2/+57
2009-09-24command: added command "rescan"Max Kellermann1-5/+9
"rescan" is the same as "update", but it discards existing songs in the database.
2009-09-24update: splitted update.c into several sourcesMax Kellermann1-190/+26
2009-09-24update: pass const string to update_enqueue()Max Kellermann1-7/+11
Duplicate the path string within update.c, do not expect an allocated string as parameter.
2009-09-24update: renamed directory_update_init() to update_enqueue()Max Kellermann1-1/+1
2009-08-19update: don't re-read unchanged container filesIgor Kuzmin1-1/+2
MPD checks if every flac (possibly other types as well) file contains cuesheet on every update, which produces unneeded I/O. My music collection is on NFS share, so it's quite noticeable. IMHO, it shouldn't re-read unchanged files, so I wrote simple patch to fix it.