From: Ivan Kohler Date: Mon, 23 May 2022 22:06:31 +0000 (-0700) Subject: properly deal with broadsoft's awful non-standard quoting, RT#86028, RT#81941 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=2c7c526d0485fbd2eaf59b54ff5fe7a1d4e01970 properly deal with broadsoft's awful non-standard quoting, RT#86028, RT#81941 --- diff --git a/FS/FS/cdr/broadsoft.pm b/FS/FS/cdr/broadsoft.pm index 01755a8bf..ab4815095 100644 --- a/FS/FS/cdr/broadsoft.pm +++ b/FS/FS/cdr/broadsoft.pm @@ -23,12 +23,17 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); sep_char => ',', disabled => 0, + #deal with broadsoft's awful non-standard CSV escaping :/ row_callback => sub { my $line = shift; - #try to deal with broadsoft's awful non-standard CSV escaping :/ - $line =~ s/\\,/ /g; # \, becomes just a space... not entirely accurate, - # but better than skewing data into the wrong fields - $line =~ s/\\\\/\\/g; # undo double backslashes? none in my test data + $line = qq("$line"); # put " at the beginning and end + $line =~ s/(?