aboutsummaryrefslogtreecommitdiffstats
path: root/src/songvec.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-10-13{dir,song}vec: remove unused *_destroy routinesEric Wong1-2/+0
Blindly destroying these without freeing the underlying elements was a bad idea, always. Our iterators suck less nowadays and we can traverse them and free() each element safely.
2008-10-12directory: always maintain sorted properties vectorsEric Wong1-2/+0
This allows clients to see sorted results while we're updating the DB and removes the need for us to have to sort manually. We'll have to write separate routines for managing stored playlists with songvecs eventually; but that's for another day.
2008-10-11songvec: pass const pointersMax Kellermann1-1/+1
Pass const songvec pointers to songvec_find() and songvec_for_each(). [ew: already merged songvec_for_each() cosntification somewhere...]
2008-10-11directory: moved code to database.cMax Kellermann1-1/+1
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.
2008-10-11song: converted typedef Song to struct songMax Kellermann1-5/+6
Again, a data type which can be forward-declared. [ew: * used "struct mpd_song" instead to avoid token duplication (like I did with "struct mpd_tag") as there's no good abbreviation for "song" and identical tokens on the same line don't read well * rewritten using perl -i -p -e 's/\bSong\b/struct mpd_song/g' src/*.[ch] since it was too hard to merge * also, I don't care much for forward declarations ]
2008-10-07directory: use songvec_for_each for iteratorsEric Wong1-2/+0
Get rid of songvec_write so we can enforce proper locking
2008-10-05songvec: add songvec_for_each iteratorEric Wong1-0/+2
This is so we can more consistently deal with locking needed for thread-safety in iterator functions.
2008-09-28songvec: songvec_delete takes a const Song pointerEric Wong1-1/+1
We don't modify the Song when we delete it
2008-09-28songvec_free => songvec_destroyEric Wong1-1/+1
"free" implies the songvec structure itself is freed, which is not the case.
2008-09-22songvec: remove songvec_pruneEric Wong1-2/+0
Any pruned files will be noticed during update and pruned from the live database, so this inefficient function can go away and never come back.
2008-09-20Replace SongList with struct songvecEric Wong1-0/+26
Our linked-list implementation is wasteful and the SongList isn't modified enough to benefit from being a linked list. So use a more compact array of song pointers which saves ~200K on a library with ~9K songs (on x86-32).