summaryrefslogtreecommitdiffstats
path: root/tools/porting/src
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-10-08 16:03:27 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2009-10-08 16:03:27 (GMT)
commite5bcddb6fecc1fb55f18f734601a3e928dc7510a (patch)
tree4c6fd15be926b48ca7e962c51024a1bea9bae649 /tools/porting/src
parent468bd5ac176c42af310d439810bbd3bb561f5a1b (diff)
parent3945fd75a93d790434b33c2d23add155893a82a4 (diff)
downloadQt-e5bcddb6fecc1fb55f18f734601a3e928dc7510a.zip
Qt-e5bcddb6fecc1fb55f18f734601a3e928dc7510a.tar.gz
Qt-e5bcddb6fecc1fb55f18f734601a3e928dc7510a.tar.bz2
Merge branch '4.6'
Conflicts: tools/assistant/translations/translations_adp.pro
Diffstat (limited to 'tools/porting/src')
-rw-r--r--tools/porting/src/filewriter.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/tools/porting/src/filewriter.cpp b/tools/porting/src/filewriter.cpp
index ee8debb..99bd6e7 100644
--- a/tools/porting/src/filewriter.cpp
+++ b/tools/porting/src/filewriter.cpp
@@ -44,6 +44,7 @@
#include <QFileInfo>
#include <QDir>
#include <ctype.h>
+#include <errno.h>
QT_BEGIN_NAMESPACE
@@ -106,11 +107,18 @@ FileWriter::WriteResult FileWriter::writeFile(QString filePath, QByteArray conte
char answer = 0;
while (answer != 'y' && answer != 'n' && answer != 'a') {
#if defined(Q_OS_WIN) && defined(_MSC_VER) && _MSC_VER >= 1400
- scanf_s("%c", &answer);
+ int result = scanf_s("%c", &answer);
#else
- scanf("%c", &answer);
+ int result = scanf("%c", &answer);
#endif
- answer = tolower(answer);
+ if (1 == result)
+ answer = tolower(answer);
+ else if (EOF == result) {
+ if (EINTR == errno || EILSEQ == errno)
+ continue;
+
+ answer = 'n';
+ }
}
if(answer == 'n')