get rid of maybe-uninitialized warnings

This commit is contained in:
ado
2021-02-01 00:56:42 +01:00
parent 035e27c5ab
commit d887dff82a
6 changed files with 88 additions and 117 deletions

View File

@@ -127,12 +127,11 @@ public:
no_void_validator_tup_t<Ts...> convert(
line_ptr_type line, const std::string& delim = default_delimiter) {
input_ = split(line, delim);
/* TODO
if (!splitter_.valid()) {
// set error
return {};
set_error_line_not_split();
no_void_validator_tup_t<Ts...> ret{};
return ret;
}
*/
return convert<Ts...>(input_);
}
@@ -235,19 +234,10 @@ private:
return error;
}
void set_error_invalid_quotation() {
void set_error_line_not_split() {
if (error_mode_ == error_mode::error_string) {
string_error_.clear();
string_error_.append("invalid quotation");
} else {
bool_error_ = true;
}
}
void set_error_unterminated_quote() {
if (error_mode_ == error_mode::error_string) {
string_error_.clear();
string_error_.append("unterminated quote");
string_error_.append("line not split correctly");
} else {
bool_error_ = true;
}
@@ -293,9 +283,9 @@ private:
template <typename... Ts>
no_void_validator_tup_t<Ts...> convert_impl(const split_input& elems) {
clear_error();
no_void_validator_tup_t<Ts...> ret{};
if (sizeof...(Ts) != elems.size()) {
set_error_number_of_colums(sizeof...(Ts), elems.size());
no_void_validator_tup_t<Ts...> ret{};
return ret;
}
return extract_tuple<Ts...>(elems);
@@ -368,7 +358,7 @@ private:
no_void_validator_tup_t<Ts...> extract_tuple(const split_input& elems) {
static_assert(!all_of<std::is_void, Ts...>::value,
"at least one parameter must be non void");
no_void_validator_tup_t<Ts...> ret;
no_void_validator_tup_t<Ts...> ret{};
extract_multiple<0, 0, Ts...>(ret, elems);
return ret;
}

View File

@@ -9,9 +9,6 @@
#include <string>
#include <vector>
// TODO remove
#include <iostream>
namespace ss {
template <typename... Matchers>
@@ -262,7 +259,6 @@ private:
bool crlf;
bool escaped_eol(size_t size) {
// escaped new line
if constexpr (setup<Matchers...>::escape::enabled) {
const char* curr;
for (curr = next_line_buffer_ + size - 1;
@@ -277,7 +273,6 @@ private:
}
bool unterminated_quote() {
// unterimated quote
if constexpr (ss::setup<Matchers...>::quote::enabled) {
if (next_line_converter_.unterminated_quote()) {
return true;

View File

@@ -428,8 +428,8 @@ private:
std::vector<string_range> output_;
std::string string_error_;
bool bool_error_;
bool unterminated_quote_;
bool bool_error_{false};
bool unterminated_quote_{false};
enum error_mode error_mode_ { error_mode::error_bool };
line_ptr_type begin_;
line_ptr_type curr_;