summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/aqpkg.pro2
-rw-r--r--noncore/settings/aqpkg/ipkg.cpp75
-rw-r--r--noncore/settings/aqpkg/utils.cpp1
3 files changed, 34 insertions, 44 deletions
diff --git a/noncore/settings/aqpkg/aqpkg.pro b/noncore/settings/aqpkg/aqpkg.pro
index 882cfd4..a24f036 100644
--- a/noncore/settings/aqpkg/aqpkg.pro
+++ b/noncore/settings/aqpkg/aqpkg.pro
@@ -34,7 +34,7 @@ SOURCES = mainwin.cpp \
TARGET = aqpkg
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lqpe -lopie -lstdc++
+LIBS += -lqpe -lopie
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp
index 43eaaae..2a9c576 100644
--- a/noncore/settings/aqpkg/ipkg.cpp
+++ b/noncore/settings/aqpkg/ipkg.cpp
@@ -27,20 +27,13 @@
*/
-#include <fstream>
-#include <iostream>
-#include <vector>
-using namespace std;
-
-#include <stdio.h>
-#include <unistd.h>
-
#ifdef QWS
#include <qpe/qpeapplication.h>
#else
#include <qapplication.h>
#endif
#include <qdir.h>
+#include <qfile.h>
#include <qtextstream.h>
#include <opie/oprocess.h>
@@ -203,9 +196,10 @@ void Ipkg :: removeStatusEntry()
tempstr.append( package );
emit outputText( tempstr );
- ifstream in( statusFile );
- ofstream out( outStatusFile );
- if ( !in.is_open() )
+ QFile readFile( statusFile );
+ QFile writeFile( outStatusFile );
+
+ if ( !readFile.open( IO_ReadOnly ) )
{
tempstr = tr("Couldn't open status file - ");
tempstr.append( statusFile );
@@ -213,7 +207,7 @@ void Ipkg :: removeStatusEntry()
return;
}
- if ( !out.is_open() )
+ if ( !writeFile.open( IO_WriteOnly ) )
{
tempstr = tr("Couldn't create tempory status file - ");
tempstr.append( outStatusFile );
@@ -221,61 +215,58 @@ void Ipkg :: removeStatusEntry()
return;
}
- char line[1001];
+ int i = 0;
+
+ QTextStream readStream( &readFile );
+ QTextStream writeStream( &writeFile );
+ QString line;
+
char k[21];
char v[1001];
QString key;
QString value;
- vector<QString> lines;
- int i = 0;
- do
+
+ while ( !readStream.atEnd() )
{
- in.getline( line, 1000 );
- if ( in.eof() )
- continue;
+ //read new line
+ line = readStream.readLine();
+ if ( line.contains( ":", TRUE ) )
+ {
+ //grep key and value from line
k[0] = '\0';
v[0] = '\0';
-
sscanf( line, "%[^:]: %[^\n]", k, v );
key = k;
value = v;
key = key.stripWhiteSpace();
value = value.stripWhiteSpace();
+ } else {
+ key = "";
+ value = "";
+ }
+
if ( key == "Package" && value == package )
{
- // Ignore all lines up to next empty
- do
+ //skip lines from the deleted package
+ while ( ( !readStream.atEnd() ) && ( line.stripWhiteSpace() != "" ) )
{
- in.getline( line, 1000 );
- if ( in.eof() || QString( line ).stripWhiteSpace() == "" )
- continue;
- } while ( !in.eof() && QString( line ).stripWhiteSpace() != "" );
+ line = readStream.readLine();
}
+ } else {
- lines.push_back( QString( line ) );
- out << line << endl;
-
- // Improve UI responsiveness
- i++;
- if ( ( i % 50 ) == 0 )
- qApp->processEvents();
- } while ( !in.eof() );
-
- // Write lines out
- vector<QString>::iterator it;
- for ( it = lines.begin() ; it != lines.end() ; ++it )
- {
- out << (const char *)(*it) << endl;
+ //write other lines into the tempfile
+ writeStream << line << "\n";
// Improve UI responsiveness
i++;
if ( ( i % 50 ) == 0 )
qApp->processEvents();
}
+ }
- in.close();
- out.close();
+ readFile.close();
+ writeFile.close();
// Remove old status file and put tmp stats file in its place
remove( statusFile );
diff --git a/noncore/settings/aqpkg/utils.cpp b/noncore/settings/aqpkg/utils.cpp
index 00607dd..be02b3a 100644
--- a/noncore/settings/aqpkg/utils.cpp
+++ b/noncore/settings/aqpkg/utils.cpp
@@ -27,7 +27,6 @@
*/
-#include <stdio.h>
#include <sys/vfs.h>
#include "utils.h"