From 6ec26d859be239e6db1bb392140db76227a56522 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Tue, 27 Nov 2018 14:55:23 +0900 Subject: KPasswordEdit::password() now returns a TQString instead of a const char *. This relates to bug 2961. Signed-off-by: Michele Calgaro --- tdeui/kpassdlg.cpp | 17 ++++++++--------- tdeui/kpassdlg.h | 26 ++++++++------------------ 2 files changed, 16 insertions(+), 27 deletions(-) (limited to 'tdeui') diff --git a/tdeui/kpassdlg.cpp b/tdeui/kpassdlg.cpp index 87df72f60..7ada9dc8e 100644 --- a/tdeui/kpassdlg.cpp +++ b/tdeui/kpassdlg.cpp @@ -138,8 +138,8 @@ KPasswordEdit::~KPasswordEdit() { } -const char *KPasswordEdit::password() const { - return text().ascii(); +TQString KPasswordEdit::password() const { + return text(); } void KPasswordEdit::erase() @@ -404,7 +404,7 @@ void KPasswordDialog::erase() void KPasswordDialog::slotOk() { if (m_Type == NewPassword) { - if (strcmp(m_pEdit->password(), m_pEdit2->password())) { + if (m_pEdit->password() != m_pEdit2->password()) { KMessageBox::sorry(this, i18n("You entered two different " "passwords. Please try again.")); erase(); @@ -459,8 +459,7 @@ void KPasswordDialog::slotLayout() } -// static . antlarr: KDE 4: Make it const TQString & prompt -int KPasswordDialog::getPassword(TQCString &password, TQString prompt, +int KPasswordDialog::getPassword(TQString &password, TQString prompt, int *keep) { const bool enableKeep = (keep && *keep); @@ -477,7 +476,7 @@ int KPasswordDialog::getPassword(TQCString &password, TQString prompt, // static . antlarr: KDE 4: Make it const TQString & prompt -int KPasswordDialog::getNewPassword(TQCString &password, TQString prompt) +int KPasswordDialog::getNewPassword(TQString &password, TQString prompt) { KPasswordDialog* const dlg = new KPasswordDialog(NewPassword, prompt); const int ret = dlg->exec(); @@ -502,8 +501,8 @@ void KPasswordDialog::virtual_hook( int id, void* data ) void KPasswordDialog::enableOkBtn() { if (m_Type == NewPassword) { - const bool match = strcmp(m_pEdit->password(), m_pEdit2->password()) == 0 - && (d->allowEmptyPasswords || m_pEdit->password()[0]); + const bool match = (m_pEdit->password() == m_pEdit2->password()) + && (d->allowEmptyPasswords || !m_pEdit->password().isEmpty()); const TQString pass(m_pEdit->password()); @@ -515,7 +514,7 @@ void KPasswordDialog::enableOkBtn() enableButtonOK( match ); } - if ( match && d->allowEmptyPasswords && m_pEdit->password()[0] == 0 ) { + if ( match && d->allowEmptyPasswords && m_pEdit->password().isEmpty() ) { d->m_MatchLabel->setText( i18n("Password is empty") ); } else { if ((int) pass.length() < minPasswordLength) { diff --git a/tdeui/kpassdlg.h b/tdeui/kpassdlg.h index f90a83f08..cd11bfd85 100644 --- a/tdeui/kpassdlg.h +++ b/tdeui/kpassdlg.h @@ -76,10 +76,9 @@ public: ~KPasswordEdit(); /** - * Returns the password. The memory is freed in the destructor - * so you should make a copy. + * Returns the password. */ - const char *password() const; + TQString password() const; /** * Erases the current password. @@ -129,7 +128,7 @@ private: * Usage example\n * * \code - * TQCString password; + * TQString password; * int result = KPasswordDialog::getPassword(password, i18n("Prompt message")); * if (result == KPasswordDialog::Accepted) * use(password); @@ -146,14 +145,6 @@ private: * Core dumps are dangerous because they are an image of the process memory, * and thus include any passwords that were in memory. * - * @li You should delete passwords as soon as they are not needed anymore. - * The functions getPassword() and getNewPassword() return the - * password as a TQCString. I believe this is safer than a TQString. A QString - * stores its characters internally as 16-bit wide values, so conversions are - * needed, both for creating the TQString and by using it. The temporary - * memory used for these conversion is probably not erased. This could lead - * to stray passwords in memory, even if you think you erased all of them. - * * @author Geert Jansen */ @@ -327,10 +318,9 @@ public: int passwordStrengthWarningLevel() const; /** - * Returns the password entered. The memory is freed in the destructor, - * so you should make a copy. + * Returns the password entered. */ - const char *password() const { return m_pEdit->password(); } + TQString password() const { return m_pEdit->password(); } /** * Clears the password input field. You might want to use this after the @@ -356,7 +346,7 @@ public: * is shown and the result is stored in *keep. * @return Result code: Accepted or Rejected. */ - static int getPassword(TQCString &password, TQString prompt, int *keep=0L); + static int getPassword(TQString &password, TQString prompt, int *keep=0L); /** * Pops up the dialog, asks the user for a password and returns it. The @@ -368,7 +358,7 @@ public: * information. The text is word broken to fit nicely in the dialog. * @return Result code: Accepted or Rejected. */ - static int getNewPassword(TQCString &password, TQString prompt); + static int getNewPassword(TQString &password, TQString prompt); /** * Static helper function that disables core dumps. @@ -388,7 +378,7 @@ protected: * checking in derived classes. It should return @p true if the * password is valid, @p false otherwise. */ - virtual bool checkPassword(const char *) { return true; } + virtual bool checkPassword(const TQString&) { return true; } private slots: void enableOkBtn(); -- cgit v1.2.1