diff --git a/src/SmithWaterman.cc b/src/SmithWaterman.cc index d23f3bac30..1b2fad0628 100644 --- a/src/SmithWaterman.cc +++ b/src/SmithWaterman.cc @@ -86,12 +86,12 @@ VectorVal* Substring::VecToPolicy(Vec* vec) align_val->Assign(0, make_intrusive(new String(*align.string))); align_val->Assign(1, val_mgr->Count(align.index)); - aligns->Assign(j + 1, std::move(align_val)); + aligns->Assign(j, std::move(align_val)); } st_val->Assign(1, std::move(aligns)); st_val->Assign(2, val_mgr->Bool(bst->IsNewAlignment())); - result->Assign(i + 1, std::move(st_val)); + result->Assign(i, std::move(st_val)); } } @@ -102,8 +102,7 @@ Substring::Vec* Substring::VecFromPolicy(VectorVal* vec) { Vec* result = new Vec(); - // VectorVals start at index 1! - for ( unsigned int i = 1; i <= vec->Size(); ++i ) + for ( unsigned int i = 0; i < vec->Size(); ++i ) { const auto& v = vec->At(i); // get the RecordVal if ( ! v ) diff --git a/src/ZeekString.cc b/src/ZeekString.cc index 8e08315ae8..f2537eb34a 100644 --- a/src/ZeekString.cc +++ b/src/ZeekString.cc @@ -352,7 +352,7 @@ VectorVal* String:: VecToPolicy(Vec* vec) String* string = (*vec)[i]; auto val = make_intrusive(string->Len(), (const char*) string->Bytes()); - result->Assign(i+1, std::move(val)); + result->Assign(i, std::move(val)); } return result.release(); @@ -362,8 +362,7 @@ String::Vec* String::VecFromPolicy(VectorVal* vec) { Vec* result = new Vec(); - // VectorVals start at index 1! - for ( unsigned int i = 1; i <= vec->Size(); ++i ) + for ( unsigned int i = 0; i < vec->Size(); ++i ) { const auto& v = vec->At(i); // get the RecordVal if ( ! v ) diff --git a/testing/btest/Baseline/language.smith-waterman-test/output b/testing/btest/Baseline/language.smith-waterman-test/output index 381d13553f..e40358600e 100644 --- a/testing/btest/Baseline/language.smith-waterman-test/output +++ b/testing/btest/Baseline/language.smith-waterman-test/output @@ -1,33 +1,33 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. abcdefgh - ijklmnop: AAAabcefghij - lmnopAAAqrst: -tok 1: AAA (0/5, T) +tok 0: AAA (0/5, T) abcAAAefghij - lmnopAAAqrst: -tok 1: AAA (3/5, T) +tok 0: AAA (3/5, T) abcefghijAAA - lmnopAAAqrst: -tok 1: AAA (9/5, T) +tok 0: AAA (9/5, T) xxxAAAyyy - AAAaAAAbAAA: -tok 1: AAA (3/0, T) -tok 2: AAA (3/4, T) -tok 3: AAA (3/8, T) +tok 0: AAA (3/0, T) +tok 1: AAA (3/4, T) +tok 2: AAA (3/8, T) AAAaAAAbAAA - xxxAAAyyy: -tok 1: AAA (0/3, T) -tok 2: AAA (4/3, T) -tok 3: AAA (8/3, T) +tok 0: AAA (0/3, T) +tok 1: AAA (4/3, T) +tok 2: AAA (8/3, T) xxCDyABzCDyABzz - ABCD: -tok 1: CD (2/2, T) -tok 2: AB (5/0, T) -tok 3: CD (8/2, F) -tok 4: AB (11/0, T) +tok 0: CD (2/2, T) +tok 1: AB (5/0, T) +tok 2: CD (8/2, F) +tok 3: AB (11/0, T) ABCD - xxCDyABzCDyABzz: -tok 1: CD (2/2, T) -tok 2: AB (0/5, T) -tok 3: CD (2/8, F) -tok 4: AB (0/11, T) +tok 0: CD (2/2, T) +tok 1: AB (0/5, T) +tok 2: CD (2/8, F) +tok 3: AB (0/11, T) Cache-control: no-cache^M^JAccept: - Accept-: deflate^M^JAccept-: Accept-: -tok 1: Accept (27/0, T) -tok 2: e^M^JAccept (22/15, T) -tok 3: Accept (27/29, T) +tok 0: Accept (27/0, T) +tok 1: e^M^JAccept (22/15, T) +tok 2: Accept (27/29, T) xxAAxxAAxx - yyyyyAAyyyyy: -tok 1: AA (2/5, T) -tok 2: AA (6/5, T) +tok 0: AA (2/5, T) +tok 1: AA (6/5, T) diff --git a/testing/btest/language/smith-waterman-test.zeek b/testing/btest/language/smith-waterman-test.zeek index 1eff86ef83..2b13a1a5dc 100644 --- a/testing/btest/language/smith-waterman-test.zeek +++ b/testing/btest/language/smith-waterman-test.zeek @@ -83,6 +83,6 @@ for ( i in s1 ) for ( j in ss ) print fmt("tok %d: %s (%d/%d, %s)", - j, ss[j]$str, ss[j]$aligns[1]$index, - ss[j]$aligns[2]$index, ss[j]$new); + j, ss[j]$str, ss[j]$aligns[0]$index, + ss[j]$aligns[1]$index, ss[j]$new); }