aboutsummaryrefslogtreecommitdiffstats
path: root/src/fs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fs/Traits: enable _UNICODE on WindowsMax Kellermann2015-03-054-2/+68
| | | | | Use wchar_t for everything on Windows. Solves a lot of filesystem charset problems.
* fs/NarrowPath: new utility classMax Kellermann2015-03-051-0/+49
|
* fs/Path: reimplement GetSuffix() using GetBase() and StringFindLast()Max Kellermann2015-03-051-1/+7
|
* fs/File{System,Info}: fix regular file checkMax Kellermann2015-03-052-2/+4
| | | | | | Don't use FILE_ATTRIBUTE_NORMAL, it's a "magic" value for something else. To check if a file is a regular file, we need to check if it's NOT a directory (or a device).
* fs/Path: use the "const_pointer" typedefMax Kellermann2015-03-052-2/+2
|
* fs/Traits: use TCHAR on WindowsMax Kellermann2015-03-052-0/+21
|
* fs/Traits: add macro PATH_LITERAL()Max Kellermann2015-03-052-3/+5
|
* fs/Traits: use string.h API wrappersMax Kellermann2015-03-051-16/+6
|
* fs/io/FileOutputStream: use class FileDescriptorMax Kellermann2015-03-032-19/+20
|
* input/file: use class FileReaderMax Kellermann2015-03-031-0/+6
|
* fs/io/FileReader: add method GetFileInfo()Max Kellermann2015-03-033-1/+26
|
* fs/io/FileReader: add move constructorMax Kellermann2015-03-031-0/+14
|
* system/FileDescriptor: new wrapper class for a file descriptorMax Kellermann2015-03-032-15/+12
|
* fs/io/FileReader: add method Seek()Max Kellermann2015-03-032-0/+28
|
* fs/Traits: add Find()Max Kellermann2015-03-032-1/+21
|
* fs/Traits: use std::char_traitsMax Kellermann2015-03-031-4/+6
|
* PlaylistFile: move memchr() call to class PathMax Kellermann2015-03-021-0/+10
|
* fs/Path: add method GetSuffix()Max Kellermann2015-03-012-0/+10
| | | | Type-safe wrapper for uri_get_suffix().
* fs/Path: pass Path to Relative()Max Kellermann2015-02-282-4/+4
|
* fs/AllocatedPath: use PathTraitsFS::Relative()Max Kellermann2015-02-282-23/+3
| | | | Eliminate duplicate code.
* fs/Path: rename RelativeFS() to Relative()Max Kellermann2015-02-283-3/+3
|
* fs/Traits: add missing dereference in RelativePathImpl()Max Kellermann2015-02-281-1/+1
|
* fs/CheckFile: convert path to UTF-8 for error messageMax Kellermann2015-02-281-6/+11
|
* fs/FileInfo: use GetFileAttributesEx() on WIN32Max Kellermann2015-02-281-1/+49
|
* fs/FileSystem: remove unused WIN32 port of StatFile()Max Kellermann2015-02-281-5/+4
|
* fs/FileInfo: new library providing GetFileInfo()Max Kellermann2015-02-282-8/+114
| | | | Replaces StatFile(), with a portable data object.
* 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-271-16/+6
| | | | | 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
|
* 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.
* 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
|
* Merge tag 'v0.19.9'Max Kellermann2015-02-061-0/+2
|\
| * 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.
* | fs/io/BufferedReader: count line numbersMax Kellermann2015-01-212-2/+12
| | | | | | | | Replaces the dirty code in config/ConfigFile.cxx.
* | config/Option: convert to strictly-typed enumMax Kellermann2015-01-211-1/+1
| |
* | fs/io/FileOutputStream: add static method Create()Max Kellermann2015-01-142-0/+13
| |
* | fs/AllocatedPath: add operator==Max Kellermann2015-01-131-0/+10
| |
* | fs/io/FileOutputStream: use O_TMPFILE if availableMax Kellermann2015-01-062-7/+67
| | | | | | | | | | | | The Linux feature allows writing new files to an invisible file, and then replace the old file. This preserves the old file if we get interrupted by some event.
* | fs/io/File{Reader,OutputStream}: use OpenFile()Max Kellermann2015-01-052-8/+7
| |
* | Copyright year 2015Max Kellermann2015-01-0142-42/+42
| |
* | Merge branch 'v0.19.x'Max Kellermann2014-12-263-0/+28
|\|
| * fs/Traits, ...: work around -Wtautological-pointer-compareMax Kellermann2014-12-261-0/+16
| | | | | | | | New in clang 3.6.
| * Merge branch 'v0.18.x' into v0.19.xMax Kellermann2014-12-262-0/+12
| |\