summaryrefslogtreecommitdiff
authorerik <erik>2007-01-23 21:39:59 (UTC)
committer erik <erik>2007-01-23 21:39:59 (UTC)
commit8644340455a433f4d6e3b31b329479f1e7983f78 (patch) (side-by-side diff)
tree8429c11d6634f4d8a7ad83fd59aaf03989d027a3
parentadcf6075db477909dd8170a74862a6ef91a5127f (diff)
downloadopie-8644340455a433f4d6e3b31b329479f1e7983f78.zip
opie-8644340455a433f4d6e3b31b329479f1e7983f78.tar.gz
opie-8644340455a433f4d6e3b31b329479f1e7983f78.tar.bz2
A couple more return values that need to be checked.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/passworddialogimpl.cpp6
-rw-r--r--noncore/settings/aqpkg/ipkg.cpp11
2 files changed, 14 insertions, 3 deletions
diff --git a/core/opie-login/passworddialogimpl.cpp b/core/opie-login/passworddialogimpl.cpp
index d9132e2..3c1b474 100644
--- a/core/opie-login/passworddialogimpl.cpp
+++ b/core/opie-login/passworddialogimpl.cpp
@@ -143,49 +143,53 @@ void PasswordDialogImpl::writePassword() {
* Now crypt the password so we can write it later
*/
char* password = ::crypt( m_pass->text().latin1(), crypt_make_salt() );
if ( !password )
return error( tr("Password not legal" ),
tr("<qt>The entered password is not a valid password."
"Please try entering a valid password.</qt>" ) );
/* rewind and rewrite the password file */
::setpwent();
FILE* file = ::fopen( "/etc/passwd.new", "w" );
struct passwd* pass;
while ( (pass = ::getpwent()) != 0l ) {
/* no shadow password support */
if ( pass->pw_uid == 0 )
pass->pw_passwd = password;
::putpwent( pass, file );
}
::fclose( file );
::endpwent();
- ::rename("/etc/passwd.new","/etc/passwd" );
+ if (::rename("/etc/passwd.new","/etc/passwd" ) == -1)
+ return error( tr("Rename /etc/passwd failed"),
+ tr("<qt>Renaming /etc/passwd.new to /etc/passwd failed."
+ "Please check your /etc/passed file, your /etc directory "
+ "or your filesystem.</qt>") );
/* should be done now */
#ifdef OPIE_LOGIN_SHADOW_PW
#error "Can't write Shadow Passwords fixme"
#endif
}
/**
* Raise an error. Delete input and set the focus after showing
* the error to the user
*/
void PasswordDialogImpl::error( const QString& caption, const QString& text ) {
m_isSet = false;
QMessageBox::critical(this,caption, text,
QMessageBox::Ok, QMessageBox::NoButton );
m_pass->setText("");
m_pass->setFocus();
m_confirm->setText("");
}
void PasswordDialogImpl::slotToggleEcho( bool b ) {
m_pass-> setEchoMode( b ? QLineEdit::Normal : QLineEdit::Password );
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp
index dd9e78d..c5c6387 100644
--- a/noncore/settings/aqpkg/ipkg.cpp
+++ b/noncore/settings/aqpkg/ipkg.cpp
@@ -188,49 +188,49 @@ void Ipkg :: removeStatusEntry()
outStatusFile.append( ".tmp" );
emit outputText( "" );
emit outputText( tr("Removing status entry...") );
QString tempstr = tr("status file - ");
tempstr.append( statusFile );
emit outputText( tempstr );
tempstr = tr("package - ");
tempstr.append( package );
emit outputText( tempstr );
QFile readFile( statusFile );
QFile writeFile( outStatusFile );
if ( !readFile.open( IO_ReadOnly ) )
{
tempstr = tr("Couldn't open status file - ");
tempstr.append( statusFile );
emit outputText( tempstr );
return;
}
if ( !writeFile.open( IO_WriteOnly ) )
{
- tempstr = tr("Couldn't create tempory status file - ");
+ tempstr = tr("Couldn't create temporary status file - ");
tempstr.append( outStatusFile );
emit outputText( tempstr );
return;
}
int i = 0;
QTextStream readStream( &readFile );
QTextStream writeStream( &writeFile );
QString line;
char k[21];
char v[1001];
QString key;
QString value;
while ( !readStream.atEnd() )
{
//read new line
line = readStream.readLine();
if ( line.contains( ":", TRUE ) )
{
//grep key and value from line
@@ -249,49 +249,56 @@ void Ipkg :: removeStatusEntry()
if ( key == "Package" && value == package )
{
//skip lines from the deleted package
while ( ( !readStream.atEnd() ) && ( line.stripWhiteSpace() != "" ) )
{
line = readStream.readLine();
}
} else {
//write other lines into the tempfile
writeStream << line << "\n";
// Improve UI responsiveness
i++;
if ( ( i % 50 ) == 0 )
qApp->processEvents();
}
}
readFile.close();
writeFile.close();
// Remove old status file and put tmp stats file in its place
remove( statusFile );
- rename( outStatusFile, statusFile );
+ if (::rename( outStatusFile, statusFile ) == -1)
+ {
+ tempstr = tr("Couldn't rename temporary status file - ");
+ tempstr.append( outStatusFile );
+ tempstr.append( tr("to status file - ") );
+ tempstr.append( statusFile );
+ emit outputText( tempstr );
+ }
}
int Ipkg :: executeIpkgLinkCommand( QStringList *cmd )
{
// If one is already running - should never be but just to be safe
if ( proc )
{
delete proc;
proc = 0;
}
// OK we're gonna use OProcess to run this thing
proc = new OProcess();
aborted = false;
// Connect up our slots
connect(proc, SIGNAL(processExited(Opie::Core::OProcess*)),
this, SLOT( linkProcessFinished()));
connect(proc, SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),
this, SLOT(linkCommandStdout(Opie::Core::OProcess*,char*,int)));
*proc << *cmd;
if(!proc->start(OProcess::NotifyOnExit, OProcess::All))