csv.lua

changeset 3
5b24d66365ec
parent 0
0e2b5dc7ae34
--- a/csv.lua	Sat Mar 31 22:13:32 2012 +0100
+++ b/csv.lua	Sun Apr 01 01:56:09 2012 +0100
@@ -12,7 +12,8 @@
 local numeric_escape = (lpeg.R"09"^1)^-3;
 local escape = (lpeg.P"\\" * (char_escape + numeric_escape));
 
-local value = (escape + (1-delim))^0;
+local quoted_value = lpeg.P"\"" * ((1-lpeg.P"\"")^0) * lpeg.P"\"";
+local value = quoted_value + (escape + (1-delim))^0;
 
 local escape_map = setmetatable({
 	t = "\t", b = "\b", f = "\f";

mercurial