| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: I9f5c8a9135271161e2bce50bc413ea01a08c3a76
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression introduced in 4.5.2 where QTemporaryFile would
no longer attempt to generate a random name after a failed open. Under
certain situations, this led to a non-random file being left behind in
QDir::tempPath when using the fallback implementation of QFile::copy.
Avoid calling QFSFileEngine::setFileName() on a template, so as not to
process it as file name.
By consistently not calling setFileTemplate in the constructor, we also
delay allocation of the fileEngine. Changes made to that function also
keep it from unnecessarily allocating the fileEngine.
Task-number: 260165
Reviewed-by: Thiago Macieira
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
| |
There is no QDirIterator::isValid() function.
Reviewed-by: David Boddie
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pushSubDirectory was operating on nextFileInfo when it should really be
using the path received as argument.
This fixes an issue introduced when currentFilePath variable was
removed, that was exposed in the auto-tests; fixes a regression
introduced in 4.5.0 -- test case a couple of commits back.
This also allows refactoring calling code and avoid repetition.
Task-number: 258230
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
|
|
|
| |
The difference between a canonical and absolute paths is subtle, and not
what QDirIterator is about. With this change, we still avoid loops
generated by symbolic links but won't duplicate entries because of these
differences.
While at it, when avoiding loops with symbolic links, please don't mess
with the next path! That only added inconsistency.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
| |
One less variable to maintain reduces the number of bugs and improves
consistency.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
| |
Reported via qt-bugs.
Reviewed-By: Peter Hartmann
|
|
|
|
| |
Reviewed-by: Thiago
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
| |
Changed to QIODevice::isSequential()
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
Use a union instead of an unsafe cast when swapping the bytes in
the QDataStream streaming operators. The old seems to cause problems
with Link Time Code Generation optimizations with the MSVC compilers.
Task-number: 247708
Reviewed-by: Samuel
Reviewed-by: Thiago
BT: yes
|
|
|
|
|
|
|
|
|
|
| |
Adding details to the documentation of custom storage format and related functions.
Task-number: 207865
Rev-by: David Boddie
Rev-by: Marius Storm-Olsen
|
|
|
|
| |
Task-number: 252491
|
|
|
|
| |
Reviewed-By: Oswald Buddenhagen
|
|\ |
|
| |
| |
| |
| |
| | |
Task-number: 254333
Reviewed-by: Andy Shaw <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
When connecting to an open file descriptor, set the openMode in the file
system engine, as is done for file handles.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This gets temporary file renaming working on Windows, without requiring
block-copying.
While we could #ifdef this behavior for Windows, it's preferrable to
maintain consistency in the exposed interface.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With recent changes to QTemporaryFile, allowing the file to be closed,
the engine has to keep track of whether a fileName has already been
generated, so we don't generate new files after the first one.
If the file is closed but we already have a name for it, then just
forward the call to the base file engine.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| | |
Lifetime of the engine is already handled by the native engine.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In some circumstances, the file descriptor in QTemporaryFile is actually
closed and setOpenMode alone won't give us reOpen semantics.
Added function to QTemporaryFileEngine that checks if we have open file
handles. On open, if we currently hold no handles, re-open the file.
Trying to open a new file while we hold open handles would lead to
leaks, so added an assert there, to be on the safe side.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although QTemporaryFile hides QFile::open(OpenMode), this function is
still available when accessing instance methods through the base class.
Unconditionally setting ReadWrite allows the temporary file to be
re-opened with different flags.
Task-number: 248223
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| | |
For now, this only happens if Append mode is requested and we're unable
to seek to the end of the file. Theoretically, this could change in the
future so it's better to err on the safe side.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| | |
We souldn't be returning an empty string for the fileName, just because
the file is closed. E.g., after a rename, the file will be closed, but
should still have a name.
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| | |
Note: this showed even if the file descriptor was kept open.
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| | |
Reviewed-by: MariusSO
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fallback implementation for rename operation should try to copy
permissions from the original file to the destination file. Note that
failures at this point are not treated as errors.
Errors previously set by the native fileEngine are also reset before
returning.
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| | |
Also added check in test case for rename fallback.
Task-number: 165920
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changed the fallback implementation to use 'this' instead of a new
QFile. This allows a QTemporaryFile to be block-copied to the
destination and the source to be removed (QTemporaryFile is special
because it isn't really closed).
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Block copying a sequential file is potentially a destructive operation,
because there is no guarantee copy+remove will succeed. In these cases
the fallback should not be tried.
The user is better equipped to decide how to handle such failures and to
ensure no data losses occur, e.g., copy without removing the original
file.
Reviewed-by: MariusSO
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| |
| |
| |
| |
| |
| | |
Asked by Oswald.
Reviewed-by: Oswald Buddenhagen
|
|/
|
|
| |
Task-number: 252494
|
|
|
|
|
|
| |
Reviewed-by: Olivier Goffart
Reviewed-by: Peter Hartmann
Reviewed-by: João Abecasis
|
|
|
|
|
|
|
|
|
|
| |
currentFileInfo is only used for returning from the public functions
since the file info used in the algorithm is one step ahead.
nextFileInfo is the one actually used in the algorithm. The bug was
introduced in a compile fix for Windows and broke the stopLinkLoop test
for QDirIterator.
Reviewed-by: Olivier
|
|
|
|
|
|
|
|
| |
Adding more details on QUrl::addQueryItem()
Task-number: 234125
Rev-by: Thiago Macieira
|
|
|
|
|
| |
Signed-off-by: Andre Haupt <andre@bitwigglers.org>
Reviewed-By: Thiago Macieira
|
|
|
|
|
|
| |
Usually, "the the" is not proper English
Reviewed-By: Thiago Macieira
|
|
|
|
| |
Reviewed-by: Peter Hartmann
|
|
|
|
|
| |
Task-number: 253179
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
Using setFileName in QFile::copy (introduced recently) has a nasty
side-effect of leaking file descriptors in QTemporaryFile. This happens
because the code assumes the file has been closed. In QTemporaryFile,
we need to explicitly call native file engine close.
Test case by Thiago. Bug report from Arora developers.
Reviewed-by: thiago
|
|
|
|
|
|
|
| |
Explained why you cannot use stdin and atEnd() together.
Task-number:251171
Rev-by: Andreas Aardal Hanssen
|
|
|
|
|
|
|
|
|
|
| |
qt_cmp_si_sort_flags could be read and written from different threads.
Use qStableSort with functor instead of libc's quicksort.
Found with helgrind on kdevelop
Reviewed-by: Marius Storm-Olsen
|
|
|
|
| |
This reverts commit da1416cef6b1d24156739ded101df895ee4e80d9.
|
|
|
|
|
|
| |
Explained why you cannot use QTextStream::atEnd with stdin.
Task-number:251171
|
|
|
|
|
|
|
| |
We always called QStringList::split in this function, which was
just expensive.
Reviewed-by: mauricek
|
|
|
|
| |
Reviewed-By: thiago
|