M format/csv/reader.ha => format/csv/reader.ha +7 -3
@@ 13,9 13,13 @@ export type reader = struct {
};
// Creates a new [[reader]] with a specified delimiter.
-export fn newreader(in: io::handle, delim: rune) reader = reader {
- in = in,
- delim = delim,
+export fn newreader(in: io::handle, delim: rune) reader = {
+ if (delim == '"') abort("format::csv: Invalid delimiter");
+
+ return reader {
+ in = in,
+ delim = delim,
+ };
};
// Reads one record (a slice of strings) from a [[reader]].
M format/csv/writer.ha => format/csv/writer.ha +7 -3
@@ 13,9 13,13 @@ export type writer = struct {
};
// Creates a new [[writer]] with a specified delimiter.
-export fn newwriter(out: io::handle, delim: rune) writer = writer {
- out = out,
- delim = delim,
+export fn newwriter(out: io::handle, delim: rune) writer = {
+ if (delim == '"') abort("format::csv: Invalid delimiter");
+
+ return writer {
+ out = out,
+ delim = delim,
+ };
};
// Writes one record (a slice of strings) to a [[writer]], escaping