aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* FileCommands: skip special files completelyMax Kellermann2015-02-281-0/+2
| | | | | Previously, MPD printed the time stamp without printing the file name. That made no sense.
* storage/FileInfo: rename to StorageFileInfoMax Kellermann2015-02-2818-82/+91
|
* fs/Path: make IsAbsolute() constMax Kellermann2015-02-282-2/+2
|
* fs/FileSystem: use GetFileAttributes() on WIN32 if possibleMax Kellermann2015-02-271-2/+20
|
* fs/FileSystem: merge CheckAccess() into PathExists()Max Kellermann2015-02-272-17/+7
| | | | | PathExists() should better do what CheckAccess() does, and CheckAccess() doesn't do what its name implies.
* fs/DirectoryReader: use FindFirstFile(), FindNextFile() on WIN32Max Kellermann2015-02-261-0/+85
|
* fs/Traits: add constant CURRENT_DIRECTORYMax Kellermann2015-02-253-2/+7
|
* fs/AllocatedPath: add nullptr_t constructorMax Kellermann2015-02-251-1/+3
|
* fs/{Allocated,}Path,Charset: use PathTraitsFS typedefsMax Kellermann2015-02-256-21/+19
|
* fs/FileSystem: remove unused FOpenModesMax Kellermann2015-02-251-20/+0
|
* fs/io/File{Reader,OutputStream}: convert path to UTF-8 for error messageMax Kellermann2015-02-252-7/+18
|
* db/ExcludeList: use the TextFile class instead of stdio.hMax Kellermann2015-02-251-17/+24
|
* util/DynamicFifoBuffer: adjust include guardMax Kellermann2015-02-161-3/+3
|
* net/StaticSocketAdress: new class wrapping struct sockaddr_storageMax Kellermann2015-02-133-7/+203
|
* system/ByteOrder: use GCC built-ins if availableMax Kellermann2015-02-121-6/+38
|
* net/Resolver: relax size check in LocalAddressToString()Max Kellermann2015-02-101-2/+20
| | | | Handles abstract sockets on Linux.
* net/Resolver: move code to LocalAddressToString()Max Kellermann2015-02-101-8/+16
|
* net/SocketAddress: light wrapper for struct sockaddrMax Kellermann2015-02-1013-66/+198
|
* system/{Resolver,Socket{Error,Util}}: move to new library libnet.aMax Kellermann2015-02-1012-9/+9
|
* Listen: add "override"Max Kellermann2015-02-101-2/+2
|
* event/ServerSocket: remove obsolete macro DEFAULT_PORTMax Kellermann2015-02-101-2/+0
|
* event/ServerSocket: remove obsolete typedefMax Kellermann2015-02-101-6/+0
|
* fs/io/FileOutputStream: use CREATE_ALWAYS instead of TRUNCATE_EXISTINGMax Kellermann2015-02-101-1/+1
| | | | | Fixes yet another breakage of creating the database+state file on Windows.
* command/{Queue,File}Commands: drop "file:///" prefix for absolute pathsMax Kellermann2015-02-092-13/+15
| | | | | | | | | | | | Requiring this prefix makes the client's intention very clear, but it was too hard to understand why this prefix was needed. Initially, my intention was to differentiate from broken clients which prefix relate URIs with a slash; once MPD allowed that. In the past few years however, MPD has disallowed that, and there was no significant breakage (except for the "add /" special case which some clients apparently still do). So I figure it's about time to define that an URI that begins with a slash points to an arbitrary file on the file system.
* fs/Charset: convert #ifdef to regular "if"Max Kellermann2015-02-091-3/+5
|
* fs/Charset: change FixSeparators() API to use std::string&&Max Kellermann2015-02-081-11/+6
|
* Listen: remove C-style "void"Max Kellermann2015-02-071-1/+2
|
* Merge tag 'v0.19.9'Max Kellermann2015-02-062-1/+12
|\
| * fs/io/FileOutputStream: don't auto-delete file on WIN32Max Kellermann2015-02-061-0/+2
| | | | | | | | | | | | | | | | | | The file handle is never reset to INVALID_HANDLE_VALUE, and thus the destructor will assume the operation shall be cancelled and will delete the temporary file. This was a major breakage for saving the database file and the state file.
| * TagBuilder: allow adding duplicate tag types in Complement()Max Kellermann2015-02-061-1/+10
| | | | | | | | | | | | | | | | | | | | Build a table of pre-existing tag types before adding new items. The old way would check HasType() each time, which would return true after the first instance of that tag type had been added, preventing duplicate tag types to be merged. This broke duplicate tag types loaded from the state file, because this code path uses TagBuilder::Complement().
* | SongPrint: let CPP concatenate string literalsMax Kellermann2015-02-061-2/+2
| |
* | tag/Rva2: convert pointers to referencesMax Kellermann2015-02-041-9/+9
| |
* | tag/Rva2: rename struct rva2_data to CamelCaseMax Kellermann2015-02-041-6/+6
| |
* | tag/Rva2: make enum rva2_channel strictly-typedMax Kellermann2015-02-041-12/+12
| |
* | lib/upnp/Discovery: remove locking from ExpireDevices()Max Kellermann2015-02-032-7/+6
| |
* | lib/upnp/Discovery: apply naming conventionMax Kellermann2015-02-025-42/+42
| |
* | output/sles: use AudioOutputWrapper::Create()Max Kellermann2015-02-011-4/+6
| |
* | DecoderThread: make variables more localMax Kellermann2015-01-311-6/+3
| |
* | decoder/sndfile, ...: update API documentationMax Kellermann2015-01-319-13/+13
| |
* | decoder/DsdLib: fix integer overflow in ID3 size calculationMax Kellermann2015-01-301-2/+4
| |
* | decoder/DsdLib: check size before seekingMax Kellermann2015-01-301-4/+3
| |
* | decoder/DsdLib: don't use InputStream::GetOffset() after seekingMax Kellermann2015-01-301-3/+2
| | | | | | | | We already know the offset.
* | decoder/DsdLib: pass offset_type t dsdlib_tag_id3()Max Kellermann2015-01-302-4/+2
| |
* | Merge branch 'v0.19.x'Max Kellermann2015-01-293-15/+14
|\|
| * db/update/Walk: use std::unique_ptr instead of std::auto_ptrMax Kellermann2015-01-291-1/+1
| | | | | | | | | | std::auto_ptr is deprecated, and std::unique_ptr is much better anyway.
| * Avoid integer overflow in MonotonicClock{S,MS,US}PHO2015-01-291-6/+6
| | | | | | | | | | This is Darwin specific: the previous implementation was causing an integer overflow when base.numer is very large. On PPC Darwin, the timebase info is 1000000000/33330116 and this is too large for integer arithmetic.
| * decoder/DsdLib: use new[] to allocate the ID3 bufferMax Kellermann2015-01-291-3/+5
| | | | | | | | | | Don't abort the process if there's not enough memory. This buffer is not important and can be large.
| * decoder/DsdLib: free ID3 buffer right after id3_tag_parse()Max Kellermann2015-01-291-5/+2
| | | | | | | | Merge two free() calls.
| * decoder/DsdLib: raise ID3 tag limit to 1 MBMax Kellermann2015-01-291-1/+1
| | | | | | | | | | A bug report was submitted with a 600 kB ID3 tag that could not be read by MPD.
* | output/fifo: use template AudioOutputWrapperMax Kellermann2015-01-281-47/+39
| |