[Commit] nickle ChangeLog,1.38,1.39 string.5c,1.6,1.7
Bart Massey
commit at keithp.com
Fri Apr 16 11:19:11 PDT 2004
- Previous message: [Commit] nickle ChangeLog,1.37,1.38 string.5c,1.5,1.6
- Next message: [Commit] nickle ChangeLog, 1.39, 1.40 builtin-command.c, 1.11,
1.12 builtin-environ.c, 1.4, 1.5 builtin-file.c, 1.15,
1.16 builtin-sockets.c, 1.13, 1.14 builtin-string.c, 1.9,
1.10 configure.in, 1.32, 1.33 edit.c, 1.13, 1.14 execute.c,
1.89, 1.90 file.c, 1.62, 1.63 int.c, 1.21, 1.22 lex.l, 1.72,
1.73 scope.c, 1.29, 1.30 string.c, 1.16, 1.17 value.h, 1.101, 1.102
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: bart
Update of /local/src/CVS/nickle
In directory home.keithp.com:/tmp/cvs-serv29491
Modified Files:
ChangeLog string.5c
Log Message:
* string.5c: (parse_csv):
Last field wasn't being chomped and dequoted.
Index: ChangeLog
===================================================================
RCS file: /local/src/CVS/nickle/ChangeLog,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- a/ChangeLog 16 Apr 2004 18:09:26 -0000 1.38
+++ b/ChangeLog 16 Apr 2004 18:19:08 -0000 1.39
@@ -1,5 +1,10 @@
2004-04-16 Bart Massey <bart at cs.pdx.edu>
+ * string.5c: (parse_csv):
+ Last field wasn't being chomped and dequoted.
+
+2004-04-16 Bart Massey <bart at cs.pdx.edu>
+
* string.5c: (parse_csv, _dequote):
Fixed unclosed string detection case in parse_csv.
Fixed unclosed string detection in _dequote.
Index: string.5c
===================================================================
RCS file: /local/src/CVS/nickle/string.5c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- a/string.5c 16 Apr 2004 18:09:26 -0000 1.6
+++ b/string.5c 16 Apr 2004 18:19:08 -0000 1.7
@@ -108,6 +108,13 @@
quote_context q = default_quotes;
q.qq = "\"";
string curs = "";
+ void consume() {
+ string t = chomp(curs);
+ if (t != "" && t[0] == '"')
+ t = _dequote(t, q);
+ ss[dim(ss)] = t;
+ curs = "";
+ }
qstate t = qstate.normal;
int cur = 0;
while (cur < length(s)) {
@@ -116,11 +123,7 @@
switch(t) {
case qstate.normal:
if (c == ',') {
- string t = chomp(curs);
- if (t != "" && t[0] == '"')
- t = _dequote(t, q);
- ss[dim(ss)] = t;
- curs = "";
+ consume();
cur++;
continue;
}
@@ -149,7 +152,7 @@
if (t == qstate.openq)
raise invalid_argument("parse_csv: unexpected " +
"end of csv line", 0, s);
- ss[dim(ss)] = curs;
+ consume();
return ss;
}
- Previous message: [Commit] nickle ChangeLog,1.37,1.38 string.5c,1.5,1.6
- Next message: [Commit] nickle ChangeLog, 1.39, 1.40 builtin-command.c, 1.11,
1.12 builtin-environ.c, 1.4, 1.5 builtin-file.c, 1.15,
1.16 builtin-sockets.c, 1.13, 1.14 builtin-string.c, 1.9,
1.10 configure.in, 1.32, 1.33 edit.c, 1.13, 1.14 execute.c,
1.89, 1.90 file.c, 1.62, 1.63 int.c, 1.21, 1.22 lex.l, 1.72,
1.73 scope.c, 1.29, 1.30 string.c, 1.16, 1.17 value.h, 1.101, 1.102
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Commit
mailing list