[Commit] nickle ChangeLog,1.37,1.38 string.5c,1.5,1.6
Bart Massey
commit at keithp.com
Fri Apr 16 11:09:28 PDT 2004
- Previous message: [Commit] nickle ChangeLog, 1.36, 1.37 builtin-string.c, 1.8,
1.9 string.5c, 1.4, 1.5
- Next message: [Commit] nickle ChangeLog,1.38,1.39 string.5c,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: bart
Update of /local/src/CVS/nickle
In directory home.keithp.com:/tmp/cvs-serv29159
Modified Files:
ChangeLog string.5c
Log Message:
* string.5c: (parse_csv, _dequote):
Fixed unclosed string detection case in parse_csv.
Fixed unclosed string detection in _dequote.
Fixed function name in parse_csv exception msg.
Index: ChangeLog
===================================================================
RCS file: /local/src/CVS/nickle/ChangeLog,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- a/ChangeLog 16 Apr 2004 09:34:30 -0000 1.37
+++ b/ChangeLog 16 Apr 2004 18:09:26 -0000 1.38
@@ -1,3 +1,10 @@
+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.
+ Fixed function name in parse_csv exception msg.
+
2004-04-15 Bart Massey <bart at cs.pdx.edu>
* builtin-string.c: (do_String_substr):
Index: string.5c
===================================================================
RCS file: /local/src/CVS/nickle/string.5c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- a/string.5c 16 Apr 2004 09:34:30 -0000 1.5
+++ b/string.5c 16 Apr 2004 18:09:26 -0000 1.6
@@ -61,8 +61,9 @@
public string _dequote(string s, quote_context q) {
string result = "";
qstate t = qstate.normal;
+ int c;
for (int cur = 0; cur < length(s); cur++) {
- int c = s[cur];
+ c = s[cur];
switch(t) {
case qstate.normal:
if (inchars(c, q.oq)) {
@@ -79,6 +80,7 @@
if (inchars(c, q.cq)) {
if (cur != length(s) - 1)
raise invalid_argument("_dequote: trailing garbage", 0, s);
+ t = qstate.normal;
continue;
}
break;
@@ -88,7 +90,7 @@
}
result = result + String::new(c);
}
- if (q.qq == q.cq && t == qstate.xq)
+ if (t == qstate.normal || t == qstate.xq && inchars(c, q.cq))
return result;
raise invalid_argument("_dequote: unexpected end of string", 0, s);
}
@@ -144,8 +146,9 @@
curs = curs + String::new(c);
cur++;
}
- if (t != qstate.normal)
- raise invalid_argument("readcsv: unexpected end of csv line", 0, s);
+ if (t == qstate.openq)
+ raise invalid_argument("parse_csv: unexpected " +
+ "end of csv line", 0, s);
ss[dim(ss)] = curs;
return ss;
}
- Previous message: [Commit] nickle ChangeLog, 1.36, 1.37 builtin-string.c, 1.8,
1.9 string.5c, 1.4, 1.5
- Next message: [Commit] nickle ChangeLog,1.38,1.39 string.5c,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Commit
mailing list