summaryrefslogtreecommitdiff
path: root/core
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 /core
parentadcf6075db477909dd8170a74862a6ef91a5127f (diff)
downloadopie-8644340455a433f4d6e3b31b329479f1e7983f78.zip
opie-8644340455a433f4d6e3b31b329479f1e7983f78.tar.gz
opie-8644340455a433f4d6e3b31b329479f1e7983f78.tar.bz2
A couple more return values that need to be checked.
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/passworddialogimpl.cpp6
1 files changed, 5 insertions, 1 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
@@ -155,25 +155,29 @@ void PasswordDialogImpl::writePassword() {
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 ) {