aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/utils/csv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/utils/csv.cpp')
-rw-r--r--host/lib/utils/csv.cpp26
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);