Make Symbian follow Windows code in temporary path generation
authorJoão Abecasis <joao.abecasis@nokia.com>
Fri, 5 Aug 2011 08:39:53 +0000 (10:39 +0200)
committerQt by Nokia <qt-info@nokia.com>
Fri, 21 Oct 2011 20:19:56 +0000 (22:19 +0200)
On the one hand, we stop using OpenC here. On the other, we no longer
use an atomic create and obtain file handle API -- just as we don't on
Windows yet.

This is a stepping stone to removing back and forth conversions of path
names when generating unique names and also towards the use of native
APIs for creating and obtaining a file handle atomically.

Reviewed-by: Gareth Stockwell
Reviewed-by: Shane Kearns
(cherry picked from commit 63bb67d3107b03f399cddf4c9cca9c7eb347b62d)

Change-Id: I97b3b6179dff053807acc8d4469fdf57f57f68a6
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
src/corelib/io/qtemporaryfile.cpp

index f562298..5aaabfd 100644 (file)
 #include "private/qabstractfileengine_p.h"
 #include "private/qfsfileengine_p.h"
 
-#if !defined(Q_OS_WINCE)
-#  include <errno.h>
-#endif
-
-#if defined(Q_OS_UNIX)
-# include "private/qcore_unix_p.h"      // overrides QT_OPEN
+#if !defined(Q_OS_WIN) && !defined(Q_OS_SYMBIAN)
+#include "private/qcore_unix_p.h"       // overrides QT_OPEN
+#include <errno.h>
 #endif
 
 #if defined(QT_BUILD_CORE_LIB)
@@ -136,7 +133,7 @@ static int createFileFromTemplate(QByteArray &path, size_t pos, size_t length)
 
     for (;;) {
         // Atomically create file and obtain handle
-#ifndef Q_OS_WIN
+#if !defined(Q_OS_WIN) && !defined(Q_OS_SYMBIAN)
         {
             int fd = QT_OPEN(path.constData(),
                     QT_OPEN_CREAT | O_EXCL | QT_OPEN_RDWR | QT_OPEN_LARGEFILE,
@@ -303,7 +300,7 @@ bool QTemporaryFileEngine::open(QIODevice::OpenMode openMode)
 
     int fd = createFileFromTemplate(filename, phPos, phLength);
 
-#ifndef Q_OS_WIN
+#if !defined(Q_OS_WIN) && !defined(Q_OS_SYMBIAN)
     if (fd != -1) {
         // First open the fd as an external file descriptor to
         // initialize the engine properly.