1. 11 Jan, 2007 1 commit
  2. 08 Jan, 2007 2 commits
  3. 26 Aug, 2006 1 commit
    • Eric Wong's avatar
      Replace strdup and {c,re,m}alloc with x* variants to check for OOM errors · 90847fc8
      Eric Wong authored
      I'm checking for zero-size allocations and assert()-ing them,
      so we can more easily get backtraces and debug problems, but we'll
      also allow -DNDEBUG people to live on the edge if they wish.
      
      We do not rely on errno when checking for OOM errors because
      some implementations of malloc do not set it, and malloc
      is commonly overridden by userspace wrappers.
      
      I've spent some time looking through the source and didn't find any
      obvious places where we would explicitly allocate 0 bytes, so we
      shouldn't trip any of those assertions.
      
      We also avoid allocating zero bytes because C libraries don't
      handle this consistently (some return NULL, some not); and it's
      dangerous either way.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@4690 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      90847fc8
  4. 14 Aug, 2006 1 commit
    • Eric Wong's avatar
      Several bugfixes during exit found by valgrind · e5df85db
      Eric Wong authored
      First, make sure we call finishPlaylist() before
      closeMp3Directory() since the latter will free non-SONG_TYPE_URL
      songs in playlist, which causes an invalid read when we try to
      look for SONG_TYPE_URL songs to free in finishPlaylist.
      
      Secondly, make sure our children have all exited before freeing
      the playerData.  If we do not, slowly-delivered signals can
      trigger a race condition in the signal handlers of the decode
      and player processes which rely on getPlayerData.  To avoid
      waitpid-ing too long (or at all), move the freePlayerData() call
      farther down in main() (this won't affect anything else)
      to give the OS a better chance to deliver signals and finish running
      sig handlers for terminated children.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@4640 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      e5df85db
  5. 07 Aug, 2006 1 commit
  6. 06 Aug, 2006 1 commit
  7. 03 Aug, 2006 1 commit
  8. 01 Aug, 2006 1 commit
    • Eric Wong's avatar
      logging cleanups · 89073cfb
      Eric Wong authored
      * Moved all logging-related stuff into log.c
      (and not myfprintf.c)
      
      * ISO C90-compliant strftime usage:
      %e and %R replaced with %d and %H:%M respectively
      
      * Got rid of variadic macros since some old-school compilers
      don't like them
      
      * compiling with -DNDEBUG disables the DEBUG() macro
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@4512 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      89073cfb
  9. 30 Jul, 2006 2 commits
  10. 27 Jul, 2006 1 commit
  11. 24 Jul, 2006 1 commit
  12. 21 Jul, 2006 1 commit
  13. 20 Jul, 2006 2 commits
  14. 19 Jul, 2006 2 commits
  15. 18 Jul, 2006 1 commit
  16. 16 Jul, 2006 1 commit
  17. 15 Jul, 2006 2 commits
  18. 14 Jul, 2006 2 commits
  19. 13 Jul, 2006 2 commits
  20. 05 Jun, 2006 2 commits
  21. 04 Jun, 2006 1 commit
  22. 08 May, 2006 2 commits
  23. 30 Apr, 2006 1 commit
  24. 22 Apr, 2006 2 commits
  25. 18 Mar, 2006 1 commit
    • Eric Wong's avatar
      rewrite statefile code for audio devices · a25acbc9
      Eric Wong authored
      In the words of the original author, it was 'crappy'.  I tend to
      agree :)
      
      The code has also been broken for at least the past few months,
      and nobody bothered fixing it
      
      The previous format it was overly complex: 5 lines to describe
      each device.  The new format is one-line per-device:
      
      audio_device_state:%d:%s
      
      %d - 0 for disabled, any integer for enabled
      %s - name of the device as specified in the config file,
      whitespace and all
      
      Incompatibilities:
      
      * Output names are now _required_ to be unique.
      
      This is required because the new format relies solely on the
      name of the audio device.
      
      Relying on the device IDs internal to MPD was a bad idea
      anyways since the user usually has none or very little idea
      how they're generated, and adding a new device or removing
      one from a config would throw things off completely.
      
      This is also just a Good Idea(TM) because it makes things
      less confusing to users when they see it in their clients.
      
      * Output states are not preserved from the previous format.
      
      Not a big deal, since the previous code was never officially
      released.  Also, it's been broken for months now, so I doubt
      anybody would notice :)
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@3928 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      a25acbc9
  26. 16 Mar, 2006 1 commit
  27. 31 Dec, 2005 1 commit
  28. 14 Dec, 2005 1 commit
  29. 18 Nov, 2005 1 commit
  30. 16 Nov, 2005 1 commit