Update of /cvsroot/q-lang/q-csv
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv16832
Modified Files:
csv.c csv.q
Log Message:
Bugfix in tuple_to_csvstr and fixed comments in readsamples.q and writesamples.q
Index: csv.c
===================================================================
RCS file: /cvsroot/q-lang/q-csv/csv.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** csv.c 17 Jan 2008 20:54:18 -0000 1.10
--- csv.c 18 Jan 2008 21:34:13 -0000 1.11
***************
*** 264,272 ****
done:
free(fld);
! switch (st) {
! case 10:
rec = realloc(rec, sizeof(expr)*n_rec);
return mktuplev(n_rec, rec);
! default:
for (n = 0; n < n_rec; ++n)
dispose(rec[n]);
--- 264,271 ----
done:
free(fld);
! if (st == 10) {
rec = realloc(rec, sizeof(expr)*n_rec);
return mktuplev(n_rec, rec);
! } else {
for (n = 0; n < n_rec; ++n)
dispose(rec[n]);
***************
*** 379,393 ****
}
}
! mrk = (len -= n_fld_dl - 1); /* write over last fld_dl */
#if defined (_WIN32)
++len; /* guarantee enough space for for \r\n */
resize_str;
*(t-2) = '\r';
- #else
- resize_str;
#endif
*(t-1) = '\n';
*t = 0;
! s = (char *)realloc(s, len);
return mkstr(s);
}
--- 378,392 ----
}
}
! mrk = (len -= n_fld_dl - 2); /* write over last fld_dl */
#if defined (_WIN32)
+ resize_str;
+ #else /* Unix and Linux */
++len; /* guarantee enough space for for \r\n */
resize_str;
*(t-2) = '\r';
#endif
*(t-1) = '\n';
*t = 0;
! s = realloc(s, len);
return mkstr(s);
}
Index: csv.q
===================================================================
RCS file: /cvsroot/q-lang/q-csv/csv.q,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** csv.q 17 Jan 2008 20:54:18 -0000 1.10
--- csv.q 18 Jan 2008 21:34:13 -0000 1.11
***************
*** 90,107 ****
public swritecsv_data ARGS;
- swritecsv_data Rec:Tuple
- = tuple_to_csvstr (true, ",", "\"") Rec;
- swritecsv_data (Rec:Tuple, FieldDelim:String)
- = tuple_to_csvstr (true, FieldDelim, "\"") Rec;
swritecsv_data (Rec:Tuple, FieldDelim:String, StrDelim:String)
= tuple_to_csvstr (true, FieldDelim, StrDelim) Tec;
public swritecsv_string ARGS;
- swritecsv_string Rec:Tuple
- = tuple_to_csvstr (false, ",", "\"") Rec;
- swritecsv_string (Rec:Tuple, FieldDelim:String)
- = tuple_to_csvstr (false, FieldDelim, "\"") Rec;
swritecsv_string (Rec:Tuple, FieldDelim:String, StrDelim:String)
= tuple_to_csvstr (false, FieldDelim, StrDelim) Rec;
public swritecsvlist_data ARGS;
--- 90,107 ----
public swritecsv_data ARGS;
swritecsv_data (Rec:Tuple, FieldDelim:String, StrDelim:String)
= tuple_to_csvstr (true, FieldDelim, StrDelim) Tec;
+ swritecsv_data (Rec:Tuple, FieldDelim:String)
+ = tuple_to_csvstr (true, FieldDelim, "\"") Rec;
+ swritecsv_data Rec:Tuple
+ = tuple_to_csvstr (true, ",", "\"") Rec;
public swritecsv_string ARGS;
swritecsv_string (Rec:Tuple, FieldDelim:String, StrDelim:String)
= tuple_to_csvstr (false, FieldDelim, StrDelim) Rec;
+ swritecsv_string (Rec:Tuple, FieldDelim:String)
+ = tuple_to_csvstr (false, FieldDelim, "\"") Rec;
+ swritecsv_string Rec:Tuple
+ = tuple_to_csvstr (false, ",", "\"") Rec;
public swritecsvlist_data ARGS;
|