summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-07-23 14:37:08 +0200
committerGitHub <noreply@github.com>2018-07-23 14:37:08 +0200
commit6868e05b6890901d15f15bfb29544eb079854e6b (patch)
tree36474aeb3f3e91d0db661568e2bbcc81b1c75d91 /searchlib
parentc22ac79cf445a1917f2e484cc41d8508dbc776bc (diff)
parent2a98aea2a9ae0ab134900852ddb1e0b98cccf56b (diff)
Merge pull request #6447 from vespa-engine/balder/fix-signedness-in-weighted-set
Balder/fix signedness in weighted set
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/simplequerystack.cpp21
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp26
2 files changed, 22 insertions, 25 deletions
diff --git a/searchlib/src/vespa/searchlib/parsequery/simplequerystack.cpp b/searchlib/src/vespa/searchlib/parsequery/simplequerystack.cpp
index ef85835d9b6..36d76629f87 100644
--- a/searchlib/src/vespa/searchlib/parsequery/simplequerystack.cpp
+++ b/searchlib/src/vespa/searchlib/parsequery/simplequerystack.cpp
@@ -159,6 +159,7 @@ SimpleQueryStack::StackbufToString(const vespalib::stringref &theBuf)
const char *p = theBuf.begin();
const char *ep = theBuf.end();
uint64_t tmp(0);
+ int64_t tmpI64(0);
uint8_t flags(0);
while (p < ep) {
vespalib::string metaStr;
@@ -248,22 +249,20 @@ SimpleQueryStack::StackbufToString(const vespalib::stringref &theBuf)
termRef = p;
p += termRefLen;
result.append(make_string("%c/%d:%.*s/%d:%.*s~", _G_ItemName[type],
- idxRefLen, idxRefLen, idxRef,
- termRefLen, termRefLen, termRef));
+ idxRefLen, idxRefLen, idxRef, termRefLen, termRefLen, termRef));
break;
case ParseItem::ITEM_PURE_WEIGHTED_STRING:
p += vespalib::compress::Integer::decompressPositive(tmp, p);
termRefLen = tmp;
termRef = p;
p += termRefLen;
- result.append(make_string("%c/%d:%.*s~", _G_ItemName[type],
- termRefLen, termRefLen, termRef));
+ result.append(make_string("%c/%d:%.*s~", _G_ItemName[type], termRefLen, termRefLen, termRef));
break;
case ParseItem::ITEM_PURE_WEIGHTED_LONG:
- tmp = vespalib::nbo::n2h(*reinterpret_cast<const uint64_t *>(p));
+ tmpI64 = vespalib::nbo::n2h(*reinterpret_cast<const int64_t *>(p));
p += sizeof(uint64_t);
- result.append(make_string("%c/%lu", _G_ItemName[type], tmp));
+ result.append(make_string("%c/%" PRId64, _G_ItemName[type], tmpI64));
break;
case ParseItem::ITEM_PHRASE:
@@ -281,13 +280,12 @@ SimpleQueryStack::StackbufToString(const vespalib::stringref &theBuf)
uint32_t targetNumHits = tmp;
double scoreThreshold = vespalib::nbo::n2h(*reinterpret_cast<const double *>(p));
p += sizeof(double);
- double thresholdBoostFactor = vespalib::nbo::n2h(*reinterpret_cast<const double *>(p)); // thresholdBoostFactor
+ double thresholdBoostFactor = vespalib::nbo::n2h(*reinterpret_cast<const double *>(p));
p += sizeof(double);
result.append(make_string("%c/%d/%d:%.*s(%u,%f,%f)~", _G_ItemName[type], arity, idxRefLen,
- idxRefLen, idxRef, targetNumHits, scoreThreshold, thresholdBoostFactor));
+ idxRefLen, idxRef, targetNumHits, scoreThreshold, thresholdBoostFactor));
} else {
- result.append(make_string("%c/%d/%d:%.*s~", _G_ItemName[type], arity, idxRefLen,
- idxRefLen, idxRef));
+ result.append(make_string("%c/%d/%d:%.*s~", _G_ItemName[type], arity, idxRefLen, idxRefLen, idxRef));
}
break;
@@ -297,8 +295,7 @@ SimpleQueryStack::StackbufToString(const vespalib::stringref &theBuf)
idxRef = p;
p += idxRefLen;
size_t feature_count = ReadCompressedPositiveInt(p);
- result.append(make_string(
- "%c/%d:%.*s/%zu(", _G_ItemName[type], idxRefLen, idxRefLen, idxRef, feature_count));
+ result.append(make_string("%c/%d:%.*s/%zu(", _G_ItemName[type], idxRefLen, idxRefLen, idxRef, feature_count));
for (size_t i = 0; i < feature_count; ++i) {
vespalib::string key = ReadString(p);
vespalib::string value = ReadString(p);
diff --git a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
index 542e7990c1e..1938222b4ac 100644
--- a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
+++ b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
@@ -25,9 +25,9 @@ SimpleQueryStackDumpIterator::SimpleQueryStackDumpIterator(const vespalib::strin
_currArg2(0),
_currArg3(0),
_predicate_query_term(),
- _currIndexName(NULL),
+ _currIndexName(nullptr),
_currIndexNameLen(0),
- _currTerm(NULL),
+ _currTerm(nullptr),
_currTermLen(0),
_generatedTerm(),
_currNum(-1)
@@ -114,9 +114,9 @@ SimpleQueryStackDumpIterator::next()
_currArity = tmp;
if (p > _bufEnd) return false;
_currArg1 = 0;
- _currIndexName = NULL;
+ _currIndexName = nullptr;
_currIndexNameLen = 0;
- _currTerm = NULL;
+ _currTerm = nullptr;
_currTermLen = 0;
break;
@@ -129,9 +129,9 @@ SimpleQueryStackDumpIterator::next()
p += vespalib::compress::Integer::decompressPositive(tmp, p);
_currArg1 = tmp;
if (p > _bufEnd) return false;
- _currIndexName = NULL;
+ _currIndexName = nullptr;
_currIndexNameLen = 0;
- _currTerm = NULL;
+ _currTerm = nullptr;
_currTermLen = 0;
break;
@@ -149,7 +149,7 @@ SimpleQueryStackDumpIterator::next()
_currIndexName = p;
p += _currIndexNameLen;
if (p > _bufEnd) return false;
- _currTerm = NULL;
+ _currTerm = nullptr;
_currTermLen = 0;
break;
case ParseItem::ITEM_SAME_ELEMENT:
@@ -163,7 +163,7 @@ SimpleQueryStackDumpIterator::next()
_currIndexName = p;
p += _currIndexNameLen;
if (p > _bufEnd) return false;
- _currTerm = NULL;
+ _currTerm = nullptr;
_currTermLen = 0;
break;
@@ -180,12 +180,12 @@ SimpleQueryStackDumpIterator::next()
_currArity = 0;
break;
case ParseItem::ITEM_PURE_WEIGHTED_LONG:
- if (p + 8 > _bufEnd) return false;
+ if (p + sizeof(int64_t) > _bufEnd) return false;
_generatedTerm.clear();
- _generatedTerm << vespalib::nbo::n2h(*(const uint64_t *)p);
+ _generatedTerm << vespalib::nbo::n2h(*reinterpret_cast<const int64_t *>(p));
_currTerm = _generatedTerm.c_str();
_currTermLen = _generatedTerm.size();
- p += 8;
+ p += sizeof(int64_t);
if (p > _bufEnd) return false;
_currArg1 = 0;
@@ -197,7 +197,7 @@ SimpleQueryStackDumpIterator::next()
_currIndexName = p;
p += _currIndexNameLen;
_currArity = readCompressedPositiveInt(p);
- _currTerm = NULL;
+ _currTerm = nullptr;
_currTermLen = 0;
if (p > _bufEnd) return false;
} catch (...) {
@@ -281,7 +281,7 @@ SimpleQueryStackDumpIterator::next()
} else {
_currArg1 = 0;
}
- _currTerm = NULL;
+ _currTerm = nullptr;
_currTermLen = 0;
break;