From 3723b0cc6ebd5b3fdb6ebaed056e726d9be911c6 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Wed, 7 Mar 2018 16:43:54 +0000 Subject: [PATCH] Fix smoke test on MSVC The MSVC-generated code in debug mode was (quite rightly) complaining about iterating past the start of an empty vector, and aborting the test. --- test_drivers/smoke_test/test.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test_drivers/smoke_test/test.cpp b/test_drivers/smoke_test/test.cpp index d7bc426..4f9fb04 100644 --- a/test_drivers/smoke_test/test.cpp +++ b/test_drivers/smoke_test/test.cpp @@ -154,10 +154,11 @@ int main() //replace_invalid char invalid_sequence[] = "a\x80\xe0\xa0\xc0\xaf\xed\xa0\x80z"; vector replace_invalid_result; - replace_invalid (invalid_sequence, invalid_sequence + sizeof(invalid_sequence), replace_invalid_result.begin(), '?'); + replace_invalid (invalid_sequence, invalid_sequence + sizeof(invalid_sequence), std::back_inserter(replace_invalid_result), '?'); bvalid = is_valid(replace_invalid_result.begin(), replace_invalid_result.end()); assert (bvalid); - const char* fixed_invalid_sequence = "a????z"; + const char fixed_invalid_sequence[] = "a????z"; + assert (sizeof(fixed_invalid_sequence) == replace_invalid_result.size()); assert (std::equal(replace_invalid_result.begin(), replace_invalid_result.begin() + sizeof(fixed_invalid_sequence), fixed_invalid_sequence)); // iterator