replacing the setEncryptionStatus(char*) functions that are very likely

to be called with dangling points with functions called with QChar
arguments, that are safer and easier to program too

svn path=/trunk/kdenetwork/kmail/; revision=179849
wilder-work
Stephan Kulow 24 years ago
parent 4ff89614e3
commit fc6a53816a
  1. 8
      kmacctlocal.cpp
  2. 8
      kmacctmaildir.cpp
  3. 8
      kmmessage.cpp
  4. 4
      kmmessage.h
  5. 34
      kmmsgbase.cpp
  6. 4
      kmmsgbase.h

@ -198,12 +198,8 @@ if( fileD0.open( IO_WriteOnly ) ) {
*/
msg->setStatus(msg->headerField("Status").latin1(),
msg->headerField("X-Status").latin1());
QString c = msg->headerField( "X-KMail-EncryptionState" );
if( !c.isEmpty() )
msg->setEncryptionState( c.latin1() );
c = msg->headerField( "X-KMail-SignatureState" );
if( !c.isEmpty() )
msg->setSignatureState( c.latin1() );
msg->setEncryptionState( msg->headerField( "X-KMail-EncryptionState" ).at(0) );
msg->setSignatureState( msg->headerField( "X-KMail-SignatureState" ).at(0));
addedOk = processNewMsg(msg);

@ -170,12 +170,8 @@ void KMAcctMaildir::processNewMail(bool)
{
msg->setStatus(msg->headerField("Status").latin1(),
msg->headerField("X-Status").latin1());
char* c = (char*)msg->headerField( "X-KMail-EncryptionState" ).latin1();
if( c )
msg->setEncryptionState( c );
c = (char*)msg->headerField( "X-KMail-SignatureState" ).latin1();
if( c )
msg->setSignatureState( c );
msg->setEncryptionState( msg->headerField( "X-KMail-EncryptionState" ).at(0));
msg->setSignatureState( msg->headerField( "X-KMail-SignatureState" ).at(0));
addedOk = processNewMsg(msg);
if (addedOk)

@ -346,12 +346,8 @@ void KMMessage::fromString(const QCString& aStr, bool aSetStatus)
if (aSetStatus) {
setStatus(headerField("Status").latin1(), headerField("X-Status").latin1());
char* c = (char*)headerField("X-KMail-EncryptionState").latin1();
if( c )
setEncryptionState( c );
c = (char*)headerField("X-KMail-SignatureState").latin1();
if( c )
setSignatureState( c );
setEncryptionState( headerField("X-KMail-EncryptionState").at(0) );
setSignatureState( headerField("X-KMail-SignatureState").at(0) );
}
mNeedsAssembly = FALSE;

@ -547,7 +547,7 @@ public:
* the parent folder. */
virtual void setEncryptionState(const KMMsgEncryptionState status,
int idx = -1 );
virtual void setEncryptionState( const char* status,
virtual void setEncryptionState( QChar status,
int idx = -1 ) { KMMsgBase::setEncryptionState( status, idx ); }
/** Set signature status of the message and mark dirty. Optional
@ -555,7 +555,7 @@ public:
* the parent folder. */
virtual void setSignatureState(const KMMsgSignatureState status,
int idx = -1 );
virtual void setSignatureState( const char* status,
virtual void setSignatureState( QChar status,
int idx = -1 ) { KMMsgBase::setSignatureState( status, idx ); }
/** Encryption status of the message. */

@ -164,30 +164,26 @@ void KMMsgBase::setStatus(const char* aStatusStr, const char* aXStatusStr)
void KMMsgBase::setEncryptionState( const KMMsgEncryptionState status,
int idx )
{
qDebug( "***setEncryptionState1( %c )", status );
qDebug( "***setEncryptionState1( %d )", status );
mDirty = TRUE;
if (mParent)
mParent->headerOfMsgChanged(this, idx);
}
void KMMsgBase::setEncryptionState( const char* status, int idx )
void KMMsgBase::setEncryptionState( QChar status, int idx )
{
qDebug( "***setEncryptionState2( %c )", status ? status[0] : '?' );
qDebug( "***setEncryptionState2( %c )", status.isNull() ? '?' : status.latin1() );
if( status ){
if( status[0] == (char)KMMsgEncryptionStateUnknown )
if( status.latin1() == (char)KMMsgEncryptionStateUnknown )
setEncryptionState( KMMsgEncryptionStateUnknown, idx );
else if( status[0] == (char)KMMsgNotEncrypted )
else if( status.latin1() == (char)KMMsgNotEncrypted )
setEncryptionState( KMMsgNotEncrypted, idx );
else if( status[0] == (char)KMMsgPartiallyEncrypted )
else if( status.latin1() == (char)KMMsgPartiallyEncrypted )
setEncryptionState( KMMsgPartiallyEncrypted, idx );
else if( status[0] == (char)KMMsgFullyEncrypted )
else if( status.latin1() == (char)KMMsgFullyEncrypted )
setEncryptionState( KMMsgFullyEncrypted, idx );
else
setEncryptionState( KMMsgEncryptionStateUnknown, idx );
}
else
setEncryptionState( KMMsgEncryptionStateUnknown, idx );
}
@ -202,22 +198,18 @@ void KMMsgBase::setSignatureState( const KMMsgSignatureState status,
void KMMsgBase::setSignatureState( const char* status, int idx )
void KMMsgBase::setSignatureState( QChar status, int idx )
{
qDebug( "***setSignatureState2( %c )", status ? status[0] : '?' );
qDebug( "***setSignatureState2( %c )", status.isNull() ? '?' : status.latin1() );
if( status ){
if( status[0] == (char)KMMsgSignatureStateUnknown )
if( status.latin1() == (char)KMMsgSignatureStateUnknown )
setSignatureState( KMMsgSignatureStateUnknown, idx );
else if( status[0] == (char)KMMsgNotSigned )
else if( status.latin1() == (char)KMMsgNotSigned )
setSignatureState( KMMsgNotSigned, idx );
else if( status[0] == (char)KMMsgPartiallySigned )
else if( status.latin1() == (char)KMMsgPartiallySigned )
setSignatureState( KMMsgPartiallySigned,idx );
else if( status[0] == (char)KMMsgFullySigned )
else if( status.latin1() == (char)KMMsgFullySigned )
setSignatureState( KMMsgFullySigned, idx );
else
setSignatureState( KMMsgSignatureStateUnknown, idx );
}
else
setSignatureState( KMMsgSignatureStateUnknown, idx );
}

@ -107,7 +107,7 @@ public:
* the parent folder. */
virtual void setEncryptionState(const KMMsgEncryptionState status,
int idx = -1 );
virtual void setEncryptionState( const char* status,
virtual void setEncryptionState( QChar status,
int idx = -1 );
/** Set signature status of the message and mark dirty. Optional
@ -115,7 +115,7 @@ public:
* the parent folder. */
virtual void setSignatureState(const KMMsgSignatureState status,
int idx = -1 );
virtual void setSignatureState( const char* status,
virtual void setSignatureState( QChar status,
int idx = -1 );

Loading…
Cancel
Save