26#define CSV_WAIT_ITEM 1
27#define CSV_FINISHED_ITEM 2
29#define CSV_IS_SEPARATOR 8
30#define CSV_IS_CITED 16
31#define CSV_WAIT_SEPARATOR 32
32#define CSV_IS_DOUBLE_QUOTED 64
52 if ( in == NULL || out == NULL)
88 size_t i, j, k = 0, l, latest_char = 0;
103 for ( i = 0, j = 0, k = 0; i < l; i++ )
161 lin[latest_char + 1] =
'\0';
169 lin[latest_char + 1] =
'\0';
201 flag &= ( ~CSV_WAIT_ITEM );
209 flag &= ( ~CSV_IS_DOUBLE_QUOTED ) ;
268 if ((c0 = strchr(lin,
CSV_FINAL)) != NULL)
273 while (c0 != NULL && *c0 && nq < (
CSV_MAXL / 4))
275 if ((c0 = strchr(c0,
CSV_CITE)) != NULL)
286 while (c0 != NULL && *c0 && nc < (
CSV_MAXL / 4))
293 for (; j < nq ; j+=2)
294 if ((cq[j] < c0) && (c0 < cq[j + 1]))
314 for (i = 0; i < nc; i++)
333 for (i = 0; i < (
buf_t)(*nt); i++)
340 for (i = 0; i < nq ; i++)
Include header file for bufrdeco library.
uint32_t buf_t
Type to set offsets and dimension of arrays or counters used in bufrdeco.
#define bufrdeco_assert(__my_expr__)
Check a expression and exit if it fails.
#define CSV_MAXL
Maximum length in a string to be parsed as csv.
int parse_csv_line(int *nt, char *tk[], char *lin)
Parse a csv line.
#define CSV_FINISHED_ITEM
#define CSV_WAIT_SEPARATOR
char * csv_quoted_string(char *out, char *in)
Transform a string to a quoted string to be inserted in a csv file.
int parse_csv_line2(int *nt, char *tk[], char *lin)
Parse a csv line.
#define CSV_IS_DOUBLE_QUOTED