Git: Fixed Omit Date

Issue: QTCREATORBUG-5429
Reviewed-by: pending

Change-Id: Id2bb7fa756b7d5f49e8d7a250431f8042d514fd2
Merge-request: 366
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/3151
This commit is contained in:
Orgad Shaneh
2011-08-18 08:29:43 +00:00
committed by Tobias Hunger
parent 4e1d92fddc
commit 5396124dd7

View File

@@ -157,35 +157,42 @@ static QByteArray removeAnnotationDate(const QByteArray &b)
return QByteArray(b); return QByteArray(b);
int datePos = parenPos; int datePos = parenPos;
// Go back from paren for 5 spaces: That is where the date starts. int i = parenPos;
while (i >= 0 && b.at(i) != ' ')
--i;
while (i >= 0 && b.at(i) == ' ')
--i;
int spaceCount = 0; int spaceCount = 0;
for (int i = parenPos; i >= 0; --i) { // i is now on timezone. Go back 3 spaces: That is where the date starts.
while (i >= 0) {
if (b.at(i) == ' ') if (b.at(i) == ' ')
++spaceCount; ++spaceCount;
if (spaceCount == 5) { if (spaceCount == 3) {
datePos = i + 1; datePos = i;
break; break;
} }
--i;
} }
if (datePos == 0) if (datePos == 0)
return QByteArray(b); return QByteArray(b);
// Copy over the parts that have not changed into a new byte array // Copy over the parts that have not changed into a new byte array
Q_ASSERT(b.size() >= parenPos); Q_ASSERT(b.size() >= parenPos);
QByteArray result(b.constData(), datePos); QByteArray result;
int prevPos = 0; int prevPos = 0;
int pos = parenPos; int pos = b.indexOf('\n', 0) + 1;
forever { forever {
Q_ASSERT(prevPos < pos); Q_ASSERT(prevPos < pos);
if (prevPos != 0) int afterParen = prevPos + parenPos;
result.append(b.constData() + prevPos, pos - prevPos); result.append(b.constData() + prevPos, datePos);
result.append(b.constData() + afterParen, pos - afterParen);
prevPos = pos; prevPos = pos;
Q_ASSERT(prevPos != 0); Q_ASSERT(prevPos != 0);
if (pos == b.size()) if (pos == b.size())
break; break;
pos = b.indexOf('\n', pos + 1); pos = b.indexOf('\n', pos) + 1;
if (pos == -1) if (pos == 0) // indexOf returned -1
pos = b.size(); pos = b.size();
} }
return result; return result;