[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kabc
From: Szombathelyi György <gyurco () freemail ! hu>
Date: 2004-10-12 20:24:44
Message-ID: 20041012202444.100AE16C4A () office ! kde ! org
[Download RAW message or body]
CVS commit by gyurco:
Don't mess with user supplied QByteArray in endLDIF(). (#87827)
Also some simplification in setRawData()-resetRawData() calls.
M +22 -13 ldif.cpp 1.12
--- kdelibs/kabc/ldif.cpp #1.11:1.12
@@ -26,6 +26,4 @@
using namespace KABC;
-static const char delimiter[ 3 ] = { '\n', '\n', '\n' };
-
LDIF::LDIF()
{
@@ -91,7 +89,9 @@ QCString LDIF::assembleLine( const QStri
QByteArray tmp;
uint valuelen = value.length();
- tmp.setRawData( value, valuelen );
+ const char *data = value.data();
+
+ tmp.setRawData( data, valuelen );
ret = assembleLine( fieldname, tmp, linelen, url );
- tmp.resetRawData( value, valuelen );
+ tmp.resetRawData( data, valuelen );
return ret;
@@ -109,4 +109,5 @@ bool LDIF::splitLine( const QCString &li
QByteArray tmp;
int linelen;
+ const char *data;
// kdDebug(5700) << "splitLine line: " << QString::fromUtf8(line) << endl;
@@ -119,7 +120,8 @@ bool LDIF::splitLine( const QCString &li
str = line.stripWhiteSpace();
linelen = str.length();
- tmp.setRawData( str.data(), linelen );
+ data = str.data();
+ tmp.setRawData( data, linelen );
value = tmp.copy();
- tmp.resetRawData( str.data(), linelen );
+ tmp.resetRawData( data, linelen );
// kdDebug(5700) << "value : " << value[0] << endl;
return false;
@@ -136,7 +138,8 @@ bool LDIF::splitLine( const QCString &li
return false;
}
- tmp.setRawData( &line.data()[ position + 3 ], linelen - position - 3 );
+ data = &line.data()[ position + 3 ];
+ tmp.setRawData( data, linelen - position - 3 );
KCodecs::base64Decode( tmp, value );
- tmp.resetRawData( &line.data()[ position + 3 ], linelen - position - 3 );
+ tmp.resetRawData( data, linelen - position - 3 );
return false;
}
@@ -150,7 +153,8 @@ bool LDIF::splitLine( const QCString &li
return false;
}
- tmp.setRawData( &line.data()[ position + 3 ], linelen - position - 3 );
+ data = &line.data()[ position + 3];
+ tmp.setRawData( data, linelen - position - 3 );
value = tmp.copy();
- tmp.resetRawData( &line.data()[ position + 3 ], linelen - position - 3 );
+ tmp.resetRawData( data, linelen - position - 3 );
return true;
}
@@ -161,7 +165,8 @@ bool LDIF::splitLine( const QCString &li
return false;
}
- tmp.setRawData( &line.data()[ position + 2 ], linelen - position - 2 );
+ data = &line.data()[ position + 2 ];
+ tmp.setRawData( data, linelen - position - 2 );
value = tmp.copy();
- tmp.resetRawData( &line.data()[ position + 2 ], linelen - position - 2 );
+ tmp.resetRawData( data, linelen - position - 2 );
return false;
}
@@ -339,5 +344,9 @@ LDIF::ParseVal LDIF::nextItem()
void LDIF::endLDIF()
{
- mLdif.resetRawData( delimiter, 3 );
+ QByteArray tmp( 3 );
+ tmp[ 0 ] = '\n';
+ tmp[ 1 ] = '\n';
+ tmp[ 2 ] = '\n';
+ mLdif = tmp;
mPos = 0;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic