summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
Commit message (Collapse)AuthorAgeFilesLines
...
* Removed an unnecessary forward declarationThorbjørn Lindeijer2012-12-281-2/+0
| | | | | | | qstringlist.h is already being included. Change-Id: I1790cd560b934b6697702bd11f78f39cddc3389f Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
* QUrl::fromUserInput: fix for urls without a host.David Faure2012-12-231-2/+1
| | | | | | | | | | QUrl::fromUserInput("http://") was invalid, which doesn't make sense since QUrl("http://") is valid. Same for "smb:" which is actually even more a valid URL from a user's point of view. Change-Id: I371ac393d61b49499edf5adbbc2a90b426fe9e5d Reviewed-by: Marco Martin <mart@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use the new QUrlPrivate::validateComponent validator in the main parserThiago Macieira2012-12-211-54/+11
| | | | | | | | The code was copied from the main parser there, so remove the duplication. Change-Id: I85748f6f76b3097ff22958d9de67cfa27061a72b Reviewed-by: David Faure (KDE) <faure@kde.org>
* Make sure that the strict parser is also operating on setXxxThiago Macieira2012-12-211-43/+136
| | | | | | | | | | | These cases weren't handled before. The validateComponent function is copied from QUrlPrivate::parse, with the added modification that it now needs to check the gen-delims for the userinfo. Change-Id: I055167b977199fa86b56a3a7259a7445585129c6 Reviewed-by: David Faure (KDE) <faure@kde.org>
* Fix some typosSergio Ahumada2012-12-211-1/+1
| | | | | Change-Id: I4e8d9bd8ea66ec810e4f1fbfd8ddbf25c4b3d980 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Change ftp.qt.nokia.com -> ftp.qt-project.orgSergio Ahumada2012-12-181-1/+1
| | | | | | Task-number: QTBUG-28156 Change-Id: I0060144f0336791933205355b125251ccba73b3e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Docu: fix non-ascii character where "i" was expectedDavid Faure2012-12-141-1/+1
| | | | | Change-Id: I540c530441ad184efe4e1ecc83bf99aa97c6a028 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Fix compilation with (all versions of) MinGWKai Koehne2012-12-111-1/+1
| | | | | | | | | | | | | | | | Commit 320b16110f0f9cef032a64846dc792d40ccd367b changed the arguments of swprintf to be compliant with latest MinGW-w64 headers: The headers now excludes the non-standard swprintf(wchar*t,wchar_t*,...) version for C++11. However, the swprintf(wchar_t*,size_t,wchar_t*,...) version is actually not supported by e.g. stock Mingw-32 from mingw.org. Instead, use _snwprintf(wchar_t*,size_t,wchar_t*,...), which both MSVC, and all MinGW versions should support. Task-number: QTBUG-28520 Change-Id: Icadd11773a25143e46a72c898adfd1c324f9c468 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Warn when XDG_RUNTIME_DIR isn't set, as per XDG Base Dir SpecDavid Faure2012-12-061-0/+1
| | | | | | | | | | | | http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html says: "If $XDG_RUNTIME_DIR is not set applications should fall back to a replacement directory with similar capabilities and print a warning message." Better warn that not all the guarantees of XDG_RUNTIME_DIR are available, and push unixes who haven't done so yet, to set things up correctly. Change-Id: Ie3998e8c1d14e4fdf8d58dfb2932f0ad708fba50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QProcess: Fix compilation with MinGWKai Koehne2012-12-061-1/+2
| | | | | | | | newer mingw-w64 headers do not support swprintf(wchar_t*,wchar_t*, ..) any more. Change-Id: I2fc1fb51ba8d5237149697f77a91abd6469ebb09 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Replace two \returns markers by "The function returns"hjk2012-11-301-2/+2
| | | | | | Change-Id: I101310f6bd9bddf0ee9d06a81b9fef805313a015 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add more qtbase implictly-shared classes to the listGiuseppe D'Angelo2012-11-302-0/+2
| | | | | | | QText*Format and QDns* ones are still missing. Change-Id: I8e87fba596e87289ca935717e0a90bfc0b0a26c0 Reviewed-by: hjk <qthjk@ovi.com>
* QtBase: Documentation: Replaced deprecated \oDavid Schulz2012-11-301-4/+4
| | | | | | | ... with \li in documentation lLists. Change-Id: I51f5f4f848ec1b5a379647b32772668c24ff5992 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* QtCore: Make more signals private.Stephen Kelly2012-11-284-12/+36
| | | | | | Change-Id: Ida190e8b9c1ff47a6f54a5bf68673ab50a2f1bfe Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QNX: fix QProcess fd inheritanceRafael Roquetto2012-11-271-3/+18
| | | | | | | | | | Under QNX, QProcess was not inheriting the parent's file descriptors. This patch fills in the fd_map array, containing the file descriptors to be inherited, which is passed to spawn(), accordingly. Change-Id: Ia160abda88c1ffede877301aeae93a97c2b35320 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
* Fix build error with QT_NO_FILESYSTEMITERATORTasuku Suzuki2012-11-264-4/+8
| | | | | Change-Id: If39f1077ab1cb126632ea77d998fc279aabbcd5c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Do not detect directories ending in ".lnk" as link files.Friedemann Kleint2012-11-231-1/+6
| | | | | | | Task-number: QTBUG-21863 Change-Id: I70b661fa5fcaba1293a80c971c506798826f5b23 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fixes problem with single precision floats in QDataStream (Windows).Christian Strømme2012-11-231-1/+5
| | | | | | | | | | | | When the floating-point behavior in MSVC is set to "precise" (default), assigning nan numbers to a float causes the bit pattern to be altered (only affects 32bit builds). We should therefore not assign the swapped value back to a float and use it. Task-number: QTBUG-25950 Change-Id: I7b6cc4d546e5c8aeafdede749056358b7d639ec7 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* BlackBerry: Changed QSettings file accessBernd Weimer2012-11-212-5/+28
| | | | | | | | | | | | | On the BlackBerry platform, applications run in a sandbox. They are not allowed to read or write outside of this sandbox. Hence in QSettings there is no use for the system scope and differentiating between organization and application. This change will also improve performance. Change-Id: I79fee0140595385f3d33bd89fe5daa36b04836bc Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
* fix cleanup of QWinIoCompletionPortJoerg Bornemann2012-11-022-3/+23
| | | | | | | | | The QWinIoCompletionPort thread was never properly cleaned up. Maintain a reference count for QWinIoCompletionPort and create/destroy it on demand. Change-Id: I607b574484554dd3ad107dfb43b0a248bcf8b7a4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QNX: Fix build with QNX SDP 6.5.Sergio Martins2012-11-021-1/+1
| | | | | | | | | | | | __EXT_LF64SRC isn't defined in this case. This also makes it consistent with mkspecs/common/posix/qplatformdefs.h which uses QT_USE_XOPEN_LFS_EXTENSIONS and QT_LARGEFILE_SUPPORT to decide which type of stat struct to declare. Change-Id: Iaa155acc270783901376b543fdeffb5263294754 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Allow QStandardPaths (Mac, Windows, Unix) to be bootstrappedThiago Macieira2012-11-024-2/+30
| | | | | | | | | | | | | This allows using QStandardPaths in one of the bootstrapped tools, if required for a future need. The Blackberry version appears to be usable in bootstrapped mode already. Change-Id: Ia4e9b9564395d2e151f8ac229ac2a2aa2982e92f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix error handling bug in QWindowsPipeReaderJoerg Bornemann2012-11-021-2/+6
| | | | | | | | | | | | If ReadFile returns with an error then we must set our internal state accordingly. QWindowsPipeReader::readSequenceStarted must be set to false. If ReadFile fails, we're not within a read sequence. Also, we must handle the ERROR_BROKEN_PIPE error. Task-number: QTBUG-25342 Change-Id: Ic9247f170fa9cc47fa7e45d0f47ccfedac06a593 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use fusion instead of motif.Frederik Gladhorn2012-11-021-2/+2
| | | | | Change-Id: Ic75ea959ac825efabf0f3a8606dfca4b65fae474 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QNX: Use inotify on QNX systems that support itThomas McGuire2012-10-303-3/+14
| | | | | | | Change-Id: Ia9bf8d3c202b17746036e203268ef6229aaa900d Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Remember information on whether a file is a linkThomas McGuire2012-10-301-0/+7
| | | | | | | | | | This avoids an additional call to lstat() When using QDir::entryList() with the QDir::NoSymLinks flag. Change-Id: I3b602546c6a4502ae25a5748a12c60e69325bb5d Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: João Abecasis <joao@abecasis.name>
* Remove qstandardpaths_json.cppThiago Macieira2012-10-292-260/+0
| | | | | | | | | | This implementation is unused. It was part of a platform that will unfortunately not see the light of day. Remove it since no one is maintaining it. Change-Id: I9e675225a32f227739c688608f937df66a14e9a4 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix compilation: QChar(char) is "from ASCII"Thiago Macieira2012-10-271-1/+1
| | | | | | | This fixes the build if QT_NO_CAST_FROM_ASCII is defined. Change-Id: I0273794a83b0adaa0c15a9910cbcc9ea5d48ef7a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove stale QT_MODULE() usage casesKonstantin Ritt2012-10-251-2/+0
| | | | | | | As of Qt5, this macro is defined to be empty; simply get rid of these leftovers. Change-Id: I167ccb4c9e92ec9b5e4faeb02bf9c5ef5d982b50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QProcess: Include program in destructor warning.Friedemann Kleint2012-10-231-2/+4
| | | | | Change-Id: Ib6870d2b161197fdeab7fe5140ac4757c79f478e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Trim trailing whitespace.Stephen Kelly2012-10-221-2/+2
| | | | | Change-Id: Iee6bb66831f53399e5937eab5704af835979f5c3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: refer to QUrlQuery in QUrl's main doc bodyThiago Macieira2012-10-191-3/+4
| | | | | | | | As opposed to the deprecated methods. Task-number: QTBUG-25628 Change-Id: Ic1b50b1ac1b974cdd2dd9f0151d567227784e547 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QNX: Use extra information in dirent to avoid stat() callsThomas McGuire2012-10-193-2/+69
| | | | | | | | | | | | This improves iterating over /usr/bin with QDirIterator by more than half, from 36 to 13 milliseconds. Change-Id: Ib3a9271c3a6f81c1ea3c21d012c875c7e9bad2ad Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Re-revert "Delay creation of the process manager"Thiago Macieira2012-10-151-13/+2
| | | | | | | | | | | | | | | This reverts commit daba2c507ad42c66dafa6a29cffa94e9641e0c58, re-applying commit d9c06bf25210b3d0b31ee6126e57bcb82c292da1, because the change was accidentally brought back in commit eae8fb85997d82ecec0743ba3e470681129bff41. There's a potential deadlock when a QProcess is created while a QCoreApplication is instantiated but never executed, or if the main thread waits() for the child thread. Task-number: QTBUG-27260 Change-Id: I9e0fdc0341b3063de90979377bac35f2a827b260 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix Windows: QStandardPath::findExecutable() to check suffixes.Friedemann Kleint2012-10-081-33/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | Append the Windows executables suffixes from the PATHEXT environment variable. The previous code had a bug since the 'break' statement bailed out of the inner loop only. Factor search code out into a separate functions, avoiding repeated invocations of list.constEnd() and variable assignments in the old code. Add a static function that is called on Unix and on Windows for executable names with a suffix. Call another function applying a candidate list of suffixes in case an executable name without a suffix is passed. Lower case the extensions from PATHEXT, streamline code. Split up the test, add a _data() slot for clarity. Task-number: QTBUG-27457 Change-Id: I2bf34de52aeadddd3b937ad1e22191c3c850fd26 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QSettings Windows documentation does not match behaviorThiago A. Correa2012-10-051-1/+1
| | | | | | | | | | | | | QSettings under windows adds "OrganizationDefaults" to the registry key path when using QSettings::SystemScope. commit ee2e497f1c8216a22ddea53ab5ae1fd09bfee363 missed the change to HKEY_LOCAL_MACHINE Task-number: QTBUG-27452 Change-Id: I561f4e57b5beda0f9a511de067eb17fc23e3c856 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSettings Windows documentation does not match behaviorThiago A. Correa2012-10-051-1/+1
| | | | | | | | | | | | QSettings under windows adds "OrganizationDefaults" to the registry key path when using QSettings::SystemScope. Change platform notes section to document this behavior. Task-number: QTBUG-27452 Change-Id: I4d00b2da0825efdb360336e4f82080b6b29a54f1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Overhaul a little the QUrl error reporting.Thiago Macieira2012-10-021-95/+173
| | | | | | | | | | | | | | | | | | | | | | Keep the original QString that triggered the parsing error, instead of just one QChar. This provides more powerful error messages, like: Invalid IPv6 address; source was "http://[:::]"; scheme = "http", host = "" (QUrl cannot keep invalid hostnames) Invalid port or port number out of range; source was "http://example.com:abc"; scheme = "http", host = "example.com" (QUrl cannot keep a non-numeric port number) Invalid path (character '%' not permitted); source was "foo:/path%?"; scheme = "foo", path = "/path%25%1F" (the tolerant parser runs first, so the faulty component is fixed) This stores the error state in a special structure which is not allocated under normal conditions, keeping the memory consumption down. On 32-bit systems, QUrlPrivate does not increase in size; on 64-bit systems, it grows by 8 bytes. Change-Id: I93d798d43401dfeb9fca7b6eed7ea758da10136b Reviewed-by: David Faure <faure@kde.org>
* Update some error messages in QUrl::errorString()Thiago Macieira2012-10-021-2/+3
| | | | | | | | | Make both invalid hostname messages start with "Invalid hostname". And split the empty port error from the invalid port one. Change-Id: I870d1ed6fb07ec494f553871a37ed167141ffc06 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add Q_UNREACHABLE / Q_ASSERT to two conditions that can't happenThiago Macieira2012-10-021-1/+7
| | | | | | | | Just so the code generation is a little better. Change-Id: I2a43a4df0ae67900c465a6c2b4f2b8ba284dbbaa Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Move QUrlPrivate to qurl.cpp and mark all methods as inlineThiago Macieira2012-10-022-126/+125
| | | | | | | | | | They're never accessed outside of qurl.cpp anyway, so let the compiler know that it doesn't need to generate a full out-of-line copy for them in case it does inlining. Change-Id: I2be069b3fd2658eff9ad3023c21c8ae653c389ab Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Change QUrlPrivate::setAuthority to return voidThiago Macieira2012-10-022-4/+4
| | | | | | | | | | | | | It used to return bool because setHost returns bool and, therefore, setAuthority could fail. However, the return value is never checked, in either parse() or QUrl::setAuthority(), because there's no error recovery. This is a small optimisation. Change-Id: I25660d66cfad64ca5b9706cc38afa0e97ba3ee0b Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Remove the annoying qWarning when QUrl::setPort is out of rangeThiago Macieira2012-10-021-1/+0
| | | | | | | | | | That's what we have QUrl::errorString() for. This will become evident especially now that QUrl::toString() / toEncoded() return empty if there are errors. Change-Id: I64a84e9c6ee57c0fc38cc0c58f5286ddc1248d1f Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Update QUrlPrivate::setScheme: EmptySchemeError never happensThiago Macieira2012-10-022-8/+5
| | | | | | | | | | | | | | | As the comment says, an empty scheme is not permitted. However, if that error were to happen, QUrl falls back to parsing the URI as an "URI reference", starting with the path. E.g., ":/foo" is a path of ":/foo", which will in turn trigger the compound "colon before slash" error. Also, we don't percent-decode in the scheme. Change-Id: I438a61e17323c7722ddcc64792577a9ecb869c4b Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Make QUrl::errorString() usable for QtTest output in invalid URLsThiago Macieira2012-10-021-21/+54
| | | | | | | | | If an URL is invalid, let's indicate that in the test output. To be helpful, let's make QUrl::errorString() include the component form of the URL. Change-Id: Iaafe16973ded79c7ea688fbb23808d91253e8c14 Reviewed-by: David Faure <faure@kde.org>
* Make QUrl::toString() / toEncoded() return empty for invalid URLsThiago Macieira2012-10-021-5/+4
| | | | | Change-Id: I6ebb4ad2901a9bacb09fb81082202f37ebbc2e97 Reviewed-by: David Faure <faure@kde.org>
* Add two compound URL invalidity cases for isValid()Thiago Macieira2012-10-022-13/+59
| | | | | | | | | | | | | | These two errors can only happen if one calls setPath() explicitly. They cannot happen for parsed URLs, which is why they are only caught with isValid(). It's not possible to set the error condition in setPath() either because they depend on the presence / absence of the authority and scheme. Also update all the unit tests that set a path not starting with a slash and were just "freeloaders" on the previous behaviour. Change-Id: Ice58cd4589a850452d7573a5b19667bbab2fb43e Reviewed-by: David Faure <faure@kde.org>
* Rename createLocalFile to createNativeFile & deprecate createLocalFileAndy Shaw2012-10-022-10/+41
| | | | | | | | | | | | | | | | | | As it was confusing to use the term local file when referring to a file that was accessible using native APIs and not just a file that was on a hard disk somewhere already the function name has been changed. By renaming it to createNativeFile we keep it consistant with QFileInfo which has an isNativeFile() function too. Test also added. Task-number: QTBUG-3169 Change-Id: I410e7ed28133d68fd312c6c0faf3f7191460d7ce Reviewed-by: João Abecasis <joao@abecasis.name> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QWindowsPipeReader: use CancelIoEx on Windows >= VistaJoerg Bornemann2012-10-021-1/+16
| | | | | | | | This cancels only the I/O operation of the reader and not all operations on the handle. Change-Id: Ie442199534cf45e58bb2e053da9fecee961a460e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QWinOverlappedIoNotifier: multiple I/O operations on the same handleJoerg Bornemann2012-10-024-34/+64
| | | | | | | | | | | | | When doing multiple I/O operations on the same handle, we get notified for every operations. These must be distinguished by comparing the pointer to the OVERLAPPED struct. We now pass the OVERLAPPED pointer via the notified signal and let the receiver decide if it wants to handle this notification. Change-Id: I4efe70f39c6ae5282b949f2f4b21f6e7dd3df785 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>