diff options
Diffstat (limited to 'host/lib/utils/csv.cpp')
-rw-r--r-- | host/lib/utils/csv.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/host/lib/utils/csv.cpp b/host/lib/utils/csv.cpp index 29b219fef..752b2e881 100644 --- a/host/lib/utils/csv.cpp +++ b/host/lib/utils/csv.cpp @@ -9,30 +9,32 @@ using namespace uhd; -csv::rows_type csv::to_rows(std::istream &input){ +csv::rows_type csv::to_rows(std::istream& input) +{ csv::rows_type rows; std::string line; - //for each line in the input stream - while (std::getline(input, line)){ + // for each line in the input stream + while (std::getline(input, line)) { csv::row_type row(1, ""); bool in_quote = false; char last_ch, next_ch = ' '; - //for each character in the line - for(char ch: line){ + // for each character in the line + for (char ch : line) { last_ch = next_ch; next_ch = ch; - //catch a quote character and change the state - //we handle double quotes by checking last_ch - if (ch == '"'){ + // catch a quote character and change the state + // we handle double quotes by checking last_ch + if (ch == '"') { in_quote = not in_quote; - if (last_ch != '"') continue; + if (last_ch != '"') + continue; } - //a comma not inside quotes is a column delimiter - if (not in_quote and ch == ','){ + // a comma not inside quotes is a column delimiter + if (not in_quote and ch == ',') { row.push_back(""); continue; } - //if we got here we record the character + // if we got here we record the character row.back() += ch; } rows.push_back(row); |