Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | db/simple: eliminate UpdateFileInArchive() if archive API is disabled | Max Kellermann | 2015-03-01 | 2 | -2/+14 |
| | | | | Reduce some unnecessary overhead. | ||||
* | Mapper: use Path::IsAbsolute() | Max Kellermann | 2015-02-28 | 1 | -7/+7 |
| | |||||
* | fs/Path: pass Path to Relative() | Max Kellermann | 2015-02-28 | 3 | -5/+5 |
| | |||||
* | fs/AllocatedPath: use PathTraitsFS::Relative() | Max Kellermann | 2015-02-28 | 2 | -23/+3 |
| | | | | Eliminate duplicate code. | ||||
* | fs/Path: rename RelativeFS() to Relative() | Max Kellermann | 2015-02-28 | 4 | -4/+4 |
| | |||||
* | fs/Traits: add missing dereference in RelativePathImpl() | Max Kellermann | 2015-02-28 | 1 | -1/+1 |
| | |||||
* | Win32Main: use TCHAR where appropriate | Max Kellermann | 2015-02-28 | 1 | -4/+5 |
| | |||||
* | Mapper: use class Path | Max Kellermann | 2015-02-28 | 3 | -5/+10 |
| | |||||
* | FileCommands: use PathTraitsFS typedefs | Max Kellermann | 2015-02-28 | 1 | -2/+2 |
| | |||||
* | fs/CheckFile: convert path to UTF-8 for error message | Max Kellermann | 2015-02-28 | 1 | -6/+11 |
| | |||||
* | fs/FileInfo: use GetFileAttributesEx() on WIN32 | Max Kellermann | 2015-02-28 | 1 | -1/+49 |
| | |||||
* | fs/FileSystem: remove unused WIN32 port of StatFile() | Max Kellermann | 2015-02-28 | 1 | -5/+4 |
| | |||||
* | fs/FileInfo: new library providing GetFileInfo() | Max Kellermann | 2015-02-28 | 11 | -70/+171 |
| | | | | Replaces StatFile(), with a portable data object. | ||||
* | FileCommands: skip special files completely | Max Kellermann | 2015-02-28 | 1 | -0/+2 |
| | | | | | Previously, MPD printed the time stamp without printing the file name. That made no sense. | ||||
* | storage/FileInfo: rename to StorageFileInfo | Max Kellermann | 2015-02-28 | 19 | -86/+95 |
| | |||||
* | fs/Path: make IsAbsolute() const | Max Kellermann | 2015-02-28 | 2 | -2/+2 |
| | |||||
* | fs/FileSystem: use GetFileAttributes() on WIN32 if possible | Max Kellermann | 2015-02-27 | 1 | -2/+20 |
| | |||||
* | fs/FileSystem: merge CheckAccess() into PathExists() | Max Kellermann | 2015-02-27 | 2 | -17/+7 |
| | | | | | PathExists() should better do what CheckAccess() does, and CheckAccess() doesn't do what its name implies. | ||||
* | fs/DirectoryReader: use FindFirstFile(), FindNextFile() on WIN32 | Max Kellermann | 2015-02-26 | 1 | -0/+85 |
| | |||||
* | fs/Traits: add constant CURRENT_DIRECTORY | Max Kellermann | 2015-02-25 | 3 | -2/+7 |
| | |||||
* | fs/AllocatedPath: add nullptr_t constructor | Max Kellermann | 2015-02-25 | 1 | -1/+3 |
| | |||||
* | fs/{Allocated,}Path,Charset: use PathTraitsFS typedefs | Max Kellermann | 2015-02-25 | 6 | -21/+19 |
| | |||||
* | fs/FileSystem: remove unused FOpenModes | Max Kellermann | 2015-02-25 | 1 | -20/+0 |
| | |||||
* | fs/io/File{Reader,OutputStream}: convert path to UTF-8 for error message | Max Kellermann | 2015-02-25 | 2 | -7/+18 |
| | |||||
* | db/ExcludeList: use the TextFile class instead of stdio.h | Max Kellermann | 2015-02-25 | 1 | -17/+24 |
| | |||||
* | configure.ac: enable STRICT mode on Windows | Max Kellermann | 2015-02-25 | 1 | -0/+1 |
| | |||||
* | util/DynamicFifoBuffer: adjust include guard | Max Kellermann | 2015-02-16 | 1 | -3/+3 |
| | |||||
* | net/StaticSocketAdress: new class wrapping struct sockaddr_storage | Max Kellermann | 2015-02-13 | 4 | -7/+204 |
| | |||||
* | system/ByteOrder: use GCC built-ins if available | Max Kellermann | 2015-02-12 | 1 | -6/+38 |
| | |||||
* | net/Resolver: relax size check in LocalAddressToString() | Max Kellermann | 2015-02-10 | 1 | -2/+20 |
| | | | | Handles abstract sockets on Linux. | ||||
* | net/Resolver: move code to LocalAddressToString() | Max Kellermann | 2015-02-10 | 1 | -8/+16 |
| | |||||
* | net/SocketAddress: light wrapper for struct sockaddr | Max Kellermann | 2015-02-10 | 15 | -67/+201 |
| | |||||
* | system/{Resolver,Socket{Error,Util}}: move to new library libnet.a | Max Kellermann | 2015-02-10 | 14 | -14/+21 |
| | |||||
* | Listen: add "override" | Max Kellermann | 2015-02-10 | 1 | -2/+2 |
| | |||||
* | event/ServerSocket: remove obsolete macro DEFAULT_PORT | Max Kellermann | 2015-02-10 | 1 | -2/+0 |
| | |||||
* | event/ServerSocket: remove obsolete typedef | Max Kellermann | 2015-02-10 | 1 | -6/+0 |
| | |||||
* | fs/io/FileOutputStream: use CREATE_ALWAYS instead of TRUNCATE_EXISTING | Max Kellermann | 2015-02-10 | 1 | -1/+1 |
| | | | | | Fixes yet another breakage of creating the database+state file on Windows. | ||||
* | command/{Queue,File}Commands: drop "file:///" prefix for absolute paths | Max Kellermann | 2015-02-09 | 4 | -16/+18 |
| | | | | | | | | | | | | 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 Kellermann | 2015-02-09 | 1 | -3/+5 |
| | |||||
* | fs/Charset: change FixSeparators() API to use std::string&& | Max Kellermann | 2015-02-08 | 1 | -11/+6 |
| | |||||
* | Listen: remove C-style "void" | Max Kellermann | 2015-02-07 | 1 | -1/+2 |
| | |||||
* | configure.ac: raise protocol version to 0.20.0 | Max Kellermann | 2015-02-06 | 1 | -1/+1 |
| | | | | | A few protocol feature have been added to the 0.20 branch, and thus we should raise the protocol version in the server greeting. | ||||
* | Merge tag 'v0.19.9' | Max Kellermann | 2015-02-06 | 4 | -9/+23 |
|\ | |||||
| * | release v0.19.9 | Max Kellermann | 2015-02-06 | 1 | -1/+1 |
| | | |||||
| * | Merge tag 'v0.18.23' into v0.19.x | Max Kellermann | 2015-02-06 | 1 | -3/+5 |
| |\ | |||||
| | * | release v0.18.23 | Max Kellermann | 2015-02-06 | 1 | -1/+1 |
| | | | |||||
| | * | NEWS: fix v0.18.22 release date | Max Kellermann | 2015-02-01 | 1 | -1/+1 |
| | | | |||||
| | * | Avoid integer overflow in MonotonicClock{S,MS,US} | PHO | 2015-01-29 | 2 | -4/+5 |
| | | | | | | | | | | | | | | | 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. | ||||
| * | | fs/io/FileOutputStream: don't auto-delete file on WIN32 | Max Kellermann | 2015-02-06 | 2 | -0/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Kellermann | 2015-02-06 | 2 | -1/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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(). |