summaryrefslogtreecommitdiff
authoreilers <eilers>2004-10-26 11:18:23 (UTC)
committer eilers <eilers>2004-10-26 11:18:23 (UTC)
commit8d8b23bff18b8afd42840ef1d4574ef3ea9f8cee (patch) (side-by-side diff)
tree04505b36b73f00bcd31666d30bc7cd80883729e6
parentcd3245ade209b4672ab5c51003aa66b5908c67a1 (diff)
downloadopie-8d8b23bff18b8afd42840ef1d4574ef3ea9f8cee.zip
opie-8d8b23bff18b8afd42840ef1d4574ef3ea9f8cee.tar.gz
opie-8d8b23bff18b8afd42840ef1d4574ef3ea9f8cee.tar.bz2
Protect against error in database format. Recover to old if database was
unreadable ..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/pimconverter/converter.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/noncore/tools/pimconverter/converter.cpp b/noncore/tools/pimconverter/converter.cpp
index e8bd475..d92f382 100644
--- a/noncore/tools/pimconverter/converter.cpp
+++ b/noncore/tools/pimconverter/converter.cpp
@@ -250,5 +250,5 @@ bool Converter::sqliteMoveAndConvert( const QString& name, const QString& src, c
if ( error ){
QMessageBox::critical( this, tr("Pim-Converter"),
- tr("<qt>Conversion not possible: \n"
+ tr("<qt>Conversion not possible: <br>"
"Problem: %1</qt>").arg(cmd) );
return error;
@@ -275,11 +275,25 @@ bool Converter::sqliteMoveAndConvert( const QString& name, const QString& src, c
}
+
+ /*
+ * Check whether conversion really worked. If not, move old database back to recover it
+ */
+ if ( !QFile::exists( src ) ){
+ cmd = "mv " + Global::shellQuote(dest) + " " + Global::shellQuote(src);
+ if ( ::system( cmd ) != 0 ){
+ }
+ error = true;
+ cmd = "Database-Format is not V2!?";
+ }
+
if ( error ){
QMessageBox::critical( this, tr("Pim-Converter"),
- tr("<qt>An internal error occurred: "
- "Converting the database was impossible! "
- "Command: '%1' </qt>").arg(cmd) );
+ tr("<qt>An internal error occurred: <br>"
+ "Converting the database was impossible! <br>"
+ "Command/Reason: '%1' </qt>").arg(cmd) );
}
+
+
}