From: Abdelrazak Younes <younes@lyx.org>
To: Marco Costalba <mcostalba@gmail.com>
Cc: git@vger.kernel.org
Subject: [QGIT PATCH/RFC]
Date: Wed, 04 Nov 2009 15:56:48 +0100 [thread overview]
Message-ID: <4AF19630.2070402@lyx.org> (raw)
Hello Marco,
While recompiling latest qgit4, I stumbled accross this. I am not quite
sure you used a QLatin1String instead of a QByteArray but the attached
seems to work fine...
Anyway, I'll let you decide what do to with it.
Thanks for QGit,
Abdel.
diff --git a/src/cache.cpp b/src/cache.cpp
index af18fbf..2d9f415 100644
--- a/src/cache.cpp
+++ b/src/cache.cpp
@@ -70,11 +70,11 @@ bool Cache::save(const QString& gitDir, const
RevFileMap& rf,
const ShaString& sha = it.key();
if ( sha == ZERO_SHA_RAW
|| sha == CUSTOM_SHA_RAW
- || sha.latin1()[0] == 'A') // ALL_MERGE_FILES + rev
sha
+ || sha.at(0) == 'A') // ALL_MERGE_FILES + rev sha
continue;
v.append(it.value());
- buf.append(sha.latin1()).append('\0');
+ buf.append(sha);
newSize += 41;
if (newSize > bufSize) {
dbs("ASSERT in Cache::save, out of allocated
space");
diff --git a/src/common.h b/src/common.h
index ceb62fb..0d65980 100644
--- a/src/common.h
+++ b/src/common.h
@@ -7,6 +7,7 @@
#ifndef COMMON_H
#define COMMON_H
+#include <QByteArray>
#include <QColor>
#include <QEvent>
#include <QFont>
@@ -49,7 +50,7 @@ class QDataStream;
class QProcess;
class QSplitter;
class QWidget;
-class ShaString;
+typedef QByteArray ShaString;
// type shortcuts
typedef const QString& SCRef;
@@ -274,18 +275,6 @@ namespace QGit {
extern const QString SCRIPT_EXT;
}
-class ShaString : public QLatin1String {
-public:
- inline ShaString() : QLatin1String(NULL) {}
- inline ShaString(const ShaString& sha) :
QLatin1String(sha.latin1()) {}
- inline explicit ShaString(const char* sha) : QLatin1String(sha) {}
-
- inline bool operator!=(const ShaString& o) const { return
!operator==(o); }
- inline bool operator==(const ShaString& o) const {
-
- return (latin1() == o.latin1()) || !qstrcmp(latin1(),
o.latin1());
- }
-};
class Rev {
// prevent implicit C++ compiler defaults
diff --git a/src/git.cpp b/src/git.cpp
index 177b24a..afa5234 100644
--- a/src/git.cpp
+++ b/src/git.cpp
@@ -725,7 +725,7 @@ const Rev* Git::revLookup(SCRef sha, const
FileHistory* fh) const {
const Rev* Git::revLookup(const ShaString& sha, const FileHistory* fh)
const {
const RevMap& r = (fh ? fh->revs : revData->revs);
- return (sha.latin1() ? r.value(sha) : NULL);
+ return (sha.isEmpty() ? NULL : r.value(sha));
}
bool Git::run(SCRef runCmd, QString* runOutput, QObject* receiver,
SCRef buf) {
diff --git a/src/namespace_def.cpp b/src/namespace_def.cpp
index 80c2551..2960c36 100644
--- a/src/namespace_def.cpp
+++ b/src/namespace_def.cpp
@@ -95,7 +95,7 @@ static inline uint hexVal(const uchar* ch) {
uint qHash(const ShaString& s) { // fast path, called 6-7 times per
revision
- const uchar* ch = reinterpret_cast<const uchar*>(s.latin1());
+ const uchar* ch = reinterpret_cast<const uchar*>(s.data());
return (hexVal(ch ) << 24)
+ (hexVal(ch + 2) << 20)
+ (hexVal(ch + 4) << 16)
next reply other threads:[~2009-11-04 14:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-04 14:56 Abdelrazak Younes [this message]
2009-11-05 9:41 ` [QGIT PATCH/RFC] Marco Costalba
2009-11-05 9:50 ` Abdelrazak Younes
2009-11-05 10:13 ` Abdelrazak Younes
2009-11-05 10:19 ` Abdelrazak Younes
2009-11-05 10:37 ` Abdelrazak Younes
2009-11-05 20:25 ` Marco Costalba
2009-11-05 20:27 ` Marco Costalba
2009-11-06 8:15 ` Abdelrazak Younes
2009-11-06 8:16 ` Abdelrazak Younes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AF19630.2070402@lyx.org \
--to=younes@lyx.org \
--cc=git@vger.kernel.org \
--cc=mcostalba@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.