-rw-r--r-- | core/opie-login/passworddialogimpl.cpp | 6 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 11 |
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 @@ -151,33 +151,37 @@ void PasswordDialogImpl::writePassword() { /* 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 ); 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 @@ -196,33 +196,33 @@ void Ipkg :: removeStatusEntry() 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; @@ -257,33 +257,40 @@ void Ipkg :: removeStatusEntry() //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 |