diff --git a/include/textset.cpp b/include/textset.cpp index 4483088ac..4db4fc906 100755 --- a/include/textset.cpp +++ b/include/textset.cpp @@ -241,11 +241,22 @@ TQuery_type TCSV_recordset::parse_query(const char* query, TFilename& table) if (q.starts_with("CSV(", true)) { - const int apici = q.find('"'); - if (apici > 0) - _separator = q[apici+1]; - else - _separator = ','; + switch (q[4]) + { + case '\'': + case '"' : + if (q[5] == '\\' && q[6] == 't') + _separator = '\t'; + else + _separator = q[5]; + break; + default : + if (q[4] != ')') + _separator = q[4]; + else + _separator = ','; + break; + } q = q.after(')'); q.trim(); diff --git a/include/varrec.cpp b/include/varrec.cpp index 78c837d9d..9c2454eb8 100755 --- a/include/varrec.cpp +++ b/include/varrec.cpp @@ -287,7 +287,9 @@ const TString & TVariable_rectype::get_str(const char* fieldname) const } f = (TVariable_field*)_virtual_fields.objptr(fieldname); } - return f != NULL ? f->get() : TRectype::get_str(fieldname); + if (f != NULL) + return f->get(); // Easier to breakpoint + return TRectype::get_str(fieldname); } void TVariable_rectype::put_str(const char* fieldname, const char* val)