line |
true |
false |
branch |
384
|
70143 |
923 |
while (xs_errors[i].xs_errno && xs_errors[i].xs_errno != xse) i++; |
|
67475 |
2668 |
while (xs_errors[i].xs_errno && xs_errors[i].xs_errno != xse) i++; |
385
|
3591 |
0 |
if ((err = newSVpv (xs_errors[i].xs_errstr, 0))) { |
386
|
3591 |
0 |
(void)SvUPGRADE (err, SVt_PVIV); |
403
|
6 |
1692 |
if (xse == 0) { |
409
|
333 |
1365 |
if (xse == 2012) /* EOF */ |
411
|
284 |
1414 |
if (csv->auto_diag) { |
412
|
284 |
0 |
unless (_is_hashref (pself)) |
|
0 |
284 |
unless (_is_hashref (pself)) |
|
0 |
0 |
unless (_is_hashref (pself)) |
|
122 |
162 |
unless (_is_hashref (pself)) |
|
0 |
122 |
unless (_is_hashref (pself)) |
415
|
0 |
284 |
PUSHMARK (SP); |
416
|
0 |
284 |
XPUSHs (pself); |
420
|
161 |
120 |
unless (pself == csv->pself) |
439
|
22477 |
764 |
unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) |
|
0 |
22477 |
unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) |
442
|
22477 |
0 |
cache = (byte *)SvPV_nolen (*svp); |
445
|
16683 |
5794 |
if (SvPOK (val)) |
446
|
16683 |
0 |
cp = SvPV (val, len); |
447
|
5782 |
16695 |
if (SvIOK (val)) |
448
|
5782 |
0 |
iv = SvIV (val); |
449
|
0 |
16695 |
else if (SvNOK (val)) /* Needed for 5.6.x but safe for 5.8.x+ */ |
450
|
0 |
0 |
iv = (IV)SvNV (val); /* uncoverable statement ancient perl required */ |
501
|
3223 |
0 |
csv->sep_len = len == 1 ? 0 : len; |
506
|
3377 |
0 |
csv->quo_len = len == 1 ? 0 : len; |
512
|
90 |
22 |
csv->eol_is_cr = len == 1 && *cp == CH_CR ? 1 : 0; |
|
75 |
15 |
csv->eol_is_cr = len == 1 && *cp == CH_CR ? 1 : 0; |
516
|
8 |
3 |
if (*cp) { |
518
|
1 |
7 |
if (SvUTF8 (val)) |
528
|
1 |
1 |
csv->comment_str = *cp ? (byte *)cp : NULL; |
532
|
1 |
0 |
if (cp && len) { |
|
0 |
1 |
if (cp && len) { |
572
|
1 |
1 |
unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) { |
|
0 |
1 |
unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) { |
577
|
1 |
0 |
cache = (byte *)SvPV_nolen (*svp); |
612
|
1 |
0 |
if (csv->sep_len > 1) |
615
|
1 |
0 |
if (csv->quo_len > 1) |
617
|
0 |
1 |
if (csv->types_len) |
622
|
1 |
0 |
if (csv->bptr) |
624
|
1 |
0 |
if (csv->tmp && SvPOK (csv->tmp)) { |
|
0 |
1 |
if (csv->tmp && SvPOK (csv->tmp)) { |
625
|
0 |
0 |
char *s = SvPV_nolen (csv->tmp); |
648
|
26453 |
823 |
if ((svp = hv_fetchs (self, "_CACHE", FALSE)) && *svp) { |
|
26453 |
0 |
if ((svp = hv_fetchs (self, "_CACHE", FALSE)) && *svp) { |
661
|
823 |
0 |
if ((svp = hv_fetchs (self, "sep_char", FALSE)) && *svp && SvOK (*svp)) |
|
823 |
0 |
if ((svp = hv_fetchs (self, "sep_char", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
823 |
if ((svp = hv_fetchs (self, "sep_char", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (self, "sep_char", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (self, "sep_char", FALSE)) && *svp && SvOK (*svp)) |
662
|
823 |
0 |
CH_SEP = *SvPV (*svp, len); |
663
|
224 |
599 |
if ((svp = hv_fetchs (self, "sep", FALSE)) && *svp && SvOK (*svp)) { |
|
224 |
0 |
if ((svp = hv_fetchs (self, "sep", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
224 |
if ((svp = hv_fetchs (self, "sep", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (self, "sep", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (self, "sep", FALSE)) && *svp && SvOK (*svp)) { |
664
|
224 |
0 |
ptr = SvPV (*svp, len); |
666
|
5 |
219 |
if (len > 1) |
671
|
823 |
0 |
if ((svp = hv_fetchs (self, "quote_char", FALSE)) && *svp) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "quote_char", FALSE)) && *svp) { |
672
|
3 |
820 |
if (SvOK (*svp)) { |
|
3 |
0 |
if (SvOK (*svp)) { |
|
0 |
3 |
if (SvOK (*svp)) { |
673
|
820 |
0 |
ptr = SvPV (*svp, len); |
674
|
820 |
0 |
CH_QUOTE = len ? *ptr : (char)0; |
679
|
6 |
817 |
if ((svp = hv_fetchs (self, "quote", FALSE)) && *svp && SvOK (*svp)) { |
|
6 |
0 |
if ((svp = hv_fetchs (self, "quote", FALSE)) && *svp && SvOK (*svp)) { |
|
1 |
5 |
if ((svp = hv_fetchs (self, "quote", FALSE)) && *svp && SvOK (*svp)) { |
|
1 |
0 |
if ((svp = hv_fetchs (self, "quote", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
1 |
if ((svp = hv_fetchs (self, "quote", FALSE)) && *svp && SvOK (*svp)) { |
680
|
5 |
0 |
ptr = SvPV (*svp, len); |
682
|
4 |
1 |
if (len > 1) |
687
|
823 |
0 |
if ((svp = hv_fetchs (self, "escape_char", FALSE)) && *svp) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "escape_char", FALSE)) && *svp) { |
688
|
6 |
817 |
if (SvOK (*svp)) { |
|
6 |
0 |
if (SvOK (*svp)) { |
|
0 |
6 |
if (SvOK (*svp)) { |
689
|
817 |
0 |
ptr = SvPV (*svp, len); |
690
|
815 |
2 |
csv->escape_char = len ? *ptr : (char)0; |
696
|
823 |
0 |
if ((svp = hv_fetchs (self, "eol", FALSE)) && *svp && SvOK (*svp)) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "eol", FALSE)) && *svp && SvOK (*svp)) { |
|
4 |
819 |
if ((svp = hv_fetchs (self, "eol", FALSE)) && *svp && SvOK (*svp)) { |
|
4 |
0 |
if ((svp = hv_fetchs (self, "eol", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
4 |
if ((svp = hv_fetchs (self, "eol", FALSE)) && *svp && SvOK (*svp)) { |
697
|
819 |
0 |
char *eol = SvPV (*svp, len); |
700
|
101 |
718 |
if (len == 1 && *csv->eol == CH_CR) |
|
42 |
59 |
if (len == 1 && *csv->eol == CH_CR) |
705
|
823 |
0 |
if ((svp = hv_fetchs (self, "undef_str", FALSE)) && *svp && SvOK (*svp)) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "undef_str", FALSE)) && *svp && SvOK (*svp)) { |
|
822 |
1 |
if ((svp = hv_fetchs (self, "undef_str", FALSE)) && *svp && SvOK (*svp)) { |
|
822 |
0 |
if ((svp = hv_fetchs (self, "undef_str", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
822 |
if ((svp = hv_fetchs (self, "undef_str", FALSE)) && *svp && SvOK (*svp)) { |
708
|
1 |
0 |
csv->undef_str = (byte *)SvPV_nolen (*svp); |
709
|
0 |
1 |
if (SvUTF8 (*svp)) |
715
|
823 |
0 |
if ((svp = hv_fetchs (self, "comment_str", FALSE)) && *svp && SvOK (*svp)) |
|
823 |
0 |
if ((svp = hv_fetchs (self, "comment_str", FALSE)) && *svp && SvOK (*svp)) |
|
811 |
12 |
if ((svp = hv_fetchs (self, "comment_str", FALSE)) && *svp && SvOK (*svp)) |
|
811 |
0 |
if ((svp = hv_fetchs (self, "comment_str", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
811 |
if ((svp = hv_fetchs (self, "comment_str", FALSE)) && *svp && SvOK (*svp)) |
716
|
12 |
0 |
csv->comment_str = (byte *)SvPV_nolen (*svp); |
720
|
1 |
822 |
if ((svp = hv_fetchs (self, "_types", FALSE)) && *svp && SvOK (*svp)) { |
|
1 |
0 |
if ((svp = hv_fetchs (self, "_types", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
1 |
if ((svp = hv_fetchs (self, "_types", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (self, "_types", FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (self, "_types", FALSE)) && *svp && SvOK (*svp)) { |
721
|
1 |
0 |
csv->types = SvPV (*svp, len); |
725
|
4 |
819 |
if ((svp = hv_fetchs (self, "_is_bound", FALSE)) && *svp && SvOK (*svp)) |
|
4 |
0 |
if ((svp = hv_fetchs (self, "_is_bound", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
4 |
if ((svp = hv_fetchs (self, "_is_bound", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (self, "_is_bound", FALSE)) && *svp && SvOK (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (self, "_is_bound", FALSE)) && *svp && SvOK (*svp)) |
726
|
4 |
0 |
csv->is_bound = SvIV (*svp); |
727
|
823 |
0 |
if ((svp = hv_fetchs (self, "callbacks", FALSE)) && _is_hashref (*svp)) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "callbacks", FALSE)) && _is_hashref (*svp)) { |
|
0 |
823 |
if ((svp = hv_fetchs (self, "callbacks", FALSE)) && _is_hashref (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (self, "callbacks", FALSE)) && _is_hashref (*svp)) { |
|
301 |
522 |
if ((svp = hv_fetchs (self, "callbacks", FALSE)) && _is_hashref (*svp)) { |
|
301 |
0 |
if ((svp = hv_fetchs (self, "callbacks", FALSE)) && _is_hashref (*svp)) { |
729
|
9 |
292 |
if ((svp = hv_fetchs (cb, "after_parse", FALSE)) && _is_coderef (*svp)) |
|
9 |
0 |
if ((svp = hv_fetchs (cb, "after_parse", FALSE)) && _is_coderef (*svp)) |
|
0 |
9 |
if ((svp = hv_fetchs (cb, "after_parse", FALSE)) && _is_coderef (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (cb, "after_parse", FALSE)) && _is_coderef (*svp)) |
|
9 |
0 |
if ((svp = hv_fetchs (cb, "after_parse", FALSE)) && _is_coderef (*svp)) |
|
9 |
0 |
if ((svp = hv_fetchs (cb, "after_parse", FALSE)) && _is_coderef (*svp)) |
731
|
1 |
300 |
if ((svp = hv_fetchs (cb, "before_print", FALSE)) && _is_coderef (*svp)) |
|
1 |
0 |
if ((svp = hv_fetchs (cb, "before_print", FALSE)) && _is_coderef (*svp)) |
|
0 |
1 |
if ((svp = hv_fetchs (cb, "before_print", FALSE)) && _is_coderef (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (cb, "before_print", FALSE)) && _is_coderef (*svp)) |
|
1 |
0 |
if ((svp = hv_fetchs (cb, "before_print", FALSE)) && _is_coderef (*svp)) |
|
1 |
0 |
if ((svp = hv_fetchs (cb, "before_print", FALSE)) && _is_coderef (*svp)) |
735
|
823 |
0 |
csv->binary = bool_opt ("binary"); |
|
823 |
0 |
csv->binary = bool_opt ("binary"); |
|
823 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
823 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
823 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
823 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
823 |
0 |
csv->binary = bool_opt ("binary"); |
|
823 |
0 |
csv->binary = bool_opt ("binary"); |
|
289 |
534 |
csv->binary = bool_opt ("binary"); |
|
0 |
289 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
|
534 |
289 |
csv->binary = bool_opt ("binary"); |
|
0 |
0 |
csv->binary = bool_opt ("binary"); |
736
|
823 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
823 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
823 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
823 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
823 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
823 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
823 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
823 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
823 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
823 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
|
0 |
0 |
csv->decode_utf8 = bool_opt ("decode_utf8"); |
737
|
823 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
823 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
823 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
823 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
823 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
1 |
822 |
csv->always_quote = bool_opt ("always_quote"); |
|
1 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
1 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
1 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
1 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
1 |
csv->always_quote = bool_opt ("always_quote"); |
|
822 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
822 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
806 |
16 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
806 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
|
16 |
806 |
csv->always_quote = bool_opt ("always_quote"); |
|
0 |
0 |
csv->always_quote = bool_opt ("always_quote"); |
738
|
823 |
0 |
csv->strict = bool_opt ("strict"); |
|
823 |
0 |
csv->strict = bool_opt ("strict"); |
|
823 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
823 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
823 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
823 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
823 |
0 |
csv->strict = bool_opt ("strict"); |
|
823 |
0 |
csv->strict = bool_opt ("strict"); |
|
815 |
8 |
csv->strict = bool_opt ("strict"); |
|
0 |
815 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
|
8 |
815 |
csv->strict = bool_opt ("strict"); |
|
0 |
0 |
csv->strict = bool_opt ("strict"); |
739
|
823 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
823 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
823 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
823 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
823 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
823 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
823 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
823 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
811 |
12 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
811 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
12 |
811 |
csv->quote_empty = bool_opt ("quote_empty"); |
|
0 |
0 |
csv->quote_empty = bool_opt ("quote_empty"); |
740
|
823 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
823 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
823 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
823 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
823 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
823 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
823 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
823 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
6 |
817 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
6 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
817 |
6 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
|
0 |
0 |
csv->quote_space = bool_opt_def ("quote_space", 1); |
741
|
823 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
823 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
823 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
823 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
823 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
823 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
823 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
823 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
302 |
521 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
302 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
521 |
302 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
|
0 |
0 |
csv->escape_null = bool_opt_def ("escape_null", 1); |
742
|
823 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
823 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
823 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
823 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
823 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
823 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
823 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
823 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
823 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
823 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
|
0 |
0 |
csv->quote_binary = bool_opt_def ("quote_binary", 1); |
743
|
823 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
823 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
823 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
823 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
823 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
823 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
823 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
823 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
819 |
4 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
819 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
4 |
819 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
|
0 |
0 |
csv->allow_loose_quotes = bool_opt ("allow_loose_quotes"); |
744
|
823 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
823 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
823 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
823 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
823 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
823 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
823 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
823 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
822 |
1 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
822 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
1 |
822 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
|
0 |
0 |
csv->allow_loose_escapes = bool_opt ("allow_loose_escapes"); |
745
|
823 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
823 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
823 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
823 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
823 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
823 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
823 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
823 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
822 |
1 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
822 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
1 |
822 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
|
0 |
0 |
csv->allow_unquoted_escape = bool_opt ("allow_unquoted_escape"); |
746
|
823 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
823 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
823 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
823 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
823 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
823 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
823 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
823 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
809 |
14 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
809 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
14 |
809 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
|
0 |
0 |
csv->allow_whitespace = bool_opt ("allow_whitespace"); |
747
|
823 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
823 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
823 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
823 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
823 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
823 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
823 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
823 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
817 |
6 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
817 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
6 |
817 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
|
0 |
0 |
csv->blank_is_undef = bool_opt ("blank_is_undef"); |
748
|
823 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
823 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
823 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
823 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
823 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
823 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
823 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
823 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
819 |
4 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
819 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
4 |
819 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
|
0 |
0 |
csv->empty_is_undef = bool_opt ("empty_is_undef"); |
749
|
823 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
823 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
823 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
823 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
823 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
823 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
823 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
823 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
822 |
1 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
822 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
|
1 |
822 |
csv->verbatim = bool_opt ("verbatim"); |
|
0 |
0 |
csv->verbatim = bool_opt ("verbatim"); |
751
|
823 |
0 |
csv->auto_diag = num_opt ("auto_diag"); |
|
823 |
0 |
csv->auto_diag = num_opt ("auto_diag"); |
|
823 |
0 |
csv->auto_diag = num_opt ("auto_diag"); |
752
|
823 |
0 |
csv->diag_verbose = num_opt ("diag_verbose"); |
|
823 |
0 |
csv->diag_verbose = num_opt ("diag_verbose"); |
|
823 |
0 |
csv->diag_verbose = num_opt ("diag_verbose"); |
753
|
823 |
0 |
csv->keep_meta_info = num_opt ("keep_meta_info"); |
|
823 |
0 |
csv->keep_meta_info = num_opt ("keep_meta_info"); |
|
823 |
0 |
csv->keep_meta_info = num_opt ("keep_meta_info"); |
754
|
823 |
0 |
csv->skip_empty_rows = num_opt ("skip_empty_rows"); |
|
823 |
0 |
csv->skip_empty_rows = num_opt ("skip_empty_rows"); |
|
823 |
0 |
csv->skip_empty_rows = num_opt ("skip_empty_rows"); |
755
|
823 |
0 |
csv->formula = num_opt ("formula"); |
|
823 |
0 |
csv->formula = num_opt ("formula"); |
|
823 |
0 |
csv->formula = num_opt ("formula"); |
757
|
8 |
815 |
unless (csv->escape_char) csv->escape_null = 0; |
773
|
27254 |
22 |
csv->first_safe_char = csv->quote_space ? 0x21 : 0x20; |
775
|
83 |
27193 |
if (csv->is_bound) { |
776
|
83 |
0 |
if ((svp = hv_fetchs (self, "_BOUND_COLUMNS", FALSE)) && _is_arrayref (*svp)) |
|
83 |
0 |
if ((svp = hv_fetchs (self, "_BOUND_COLUMNS", FALSE)) && _is_arrayref (*svp)) |
|
0 |
83 |
if ((svp = hv_fetchs (self, "_BOUND_COLUMNS", FALSE)) && _is_arrayref (*svp)) |
|
0 |
0 |
if ((svp = hv_fetchs (self, "_BOUND_COLUMNS", FALSE)) && _is_arrayref (*svp)) |
|
69 |
14 |
if ((svp = hv_fetchs (self, "_BOUND_COLUMNS", FALSE)) && _is_arrayref (*svp)) |
|
69 |
0 |
if ((svp = hv_fetchs (self, "_BOUND_COLUMNS", FALSE)) && _is_arrayref (*svp)) |
784
|
853 |
452 |
? csv->verbatim || csv->eol_len >= 2 |
786
|
366 |
487 |
: csv->eol[0] == CH_CR || csv->eol[0] == CH_NL |
788
|
52 |
314 |
: 1 |
789
|
1312 |
25964 |
: 0; |
|
1305 |
7 |
: 0; |
790
|
51 |
27225 |
if (csv->sep_len > 1 && is_utf8_string ((U8 *)(csv->sep), csv->sep_len)) |
|
51 |
0 |
if (csv->sep_len > 1 && is_utf8_string ((U8 *)(csv->sep), csv->sep_len)) |
792
|
27 |
27249 |
if (csv->quo_len > 1 && is_utf8_string ((U8 *)(csv->quo), csv->quo_len)) |
|
27 |
0 |
if (csv->quo_len > 1 && is_utf8_string ((U8 *)(csv->quo), csv->quo_len)) |
801
|
939877 |
1389 |
if (csv->useIO) { |
804
|
0 |
939877 |
PUSHMARK (sp); |
805
|
0 |
939877 |
EXTEND (sp, 2); |
807
|
939649 |
228 |
if (csv->utf8) { |
812
|
939649 |
0 |
ptr = SvPV (tmp, len); |
813
|
1690511 |
0 |
while (len > 0 && !is_utf8_sv (tmp) && keep < 16) { |
|
1690511 |
0 |
while (len > 0 && !is_utf8_sv (tmp) && keep < 16) { |
|
750862 |
939649 |
while (len > 0 && !is_utf8_sv (tmp) && keep < 16) { |
|
750862 |
0 |
while (len > 0 && !is_utf8_sv (tmp) && keep < 16) { |
818
|
750862 |
939649 |
for (j = 0; j < keep; j++) |
826
|
939877 |
0 |
if (result) { |
827
|
939876 |
1 |
result = POPi; |
828
|
1 |
939876 |
unless (result) |
837
|
939674 |
1592 |
if (csv->utf8 && !csv->useIO && csv->decode_utf8 |
|
25 |
939649 |
if (csv->utf8 && !csv->useIO && csv->decode_utf8 |
|
25 |
0 |
if (csv->utf8 && !csv->useIO && csv->decode_utf8 |
838
|
25 |
0 |
&& SvROK (dst) && is_utf8_sv (SvRV (dst))) |
|
25 |
0 |
&& SvROK (dst) && is_utf8_sv (SvRV (dst))) |
|
24 |
1 |
&& SvROK (dst) && is_utf8_sv (SvRV (dst))) |
858
|
3 |
98 |
if (i >= csv->is_bound) { |
863
|
98 |
0 |
if (sv && SvROK (sv)) { |
|
98 |
0 |
if (sv && SvROK (sv)) { |
867
|
98 |
0 |
if (sv && SvROK (sv)) { |
|
98 |
0 |
if (sv && SvROK (sv)) { |
869
|
14 |
84 |
if (keep) |
872
|
83 |
1 |
unless (SvREADONLY (sv)) { |
885
|
17 |
0 |
return (x && SvIOK (*x) && SvIV (*x) & CSV_FLAGS_QUO ? 1 : 0); |
|
17 |
0 |
return (x && SvIOK (*x) && SvIV (*x) & CSV_FLAGS_QUO ? 1 : 0); |
|
17 |
0 |
return (x && SvIOK (*x) && SvIV (*x) & CSV_FLAGS_QUO ? 1 : 0); |
|
7 |
10 |
return (x && SvIOK (*x) && SvIV (*x) & CSV_FLAGS_QUO ? 1 : 0); |
|
0 |
0 |
return (x && SvIOK (*x) && SvIV (*x) & CSV_FLAGS_QUO ? 1 : 0); |
893
|
3 |
34 |
if (fa == 1) die ("Formulas are forbidden\n"); |
894
|
3 |
31 |
if (fa == 2) croak ("Formulas are forbidden\n"); |
896
|
6 |
25 |
if (fa == 3) { |
897
|
6 |
0 |
char *ptr = SvPV_nolen (sv); |
902
|
3 |
3 |
if (csv->recno) (void)sprintf (rec, " in record %lu", csv->recno + 1); |
906
|
6 |
0 |
if ((svp = hv_fetchs (csv->self, "_COLUMN_NAMES", FALSE)) && _is_arrayref (*svp)) { |
|
6 |
0 |
if ((svp = hv_fetchs (csv->self, "_COLUMN_NAMES", FALSE)) && _is_arrayref (*svp)) { |
|
0 |
6 |
if ((svp = hv_fetchs (csv->self, "_COLUMN_NAMES", FALSE)) && _is_arrayref (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (csv->self, "_COLUMN_NAMES", FALSE)) && _is_arrayref (*svp)) { |
|
1 |
5 |
if ((svp = hv_fetchs (csv->self, "_COLUMN_NAMES", FALSE)) && _is_arrayref (*svp)) { |
|
1 |
0 |
if ((svp = hv_fetchs (csv->self, "_COLUMN_NAMES", FALSE)) && _is_arrayref (*svp)) { |
908
|
1 |
0 |
if (avp && av_len (avp) >= (f - 1)) { |
|
1 |
0 |
if (avp && av_len (avp) >= (f - 1)) { |
910
|
1 |
0 |
if (fnm && *fnm && SvOK (*fnm)) |
|
1 |
0 |
if (fnm && *fnm && SvOK (*fnm)) |
|
0 |
1 |
if (fnm && *fnm && SvOK (*fnm)) |
|
0 |
0 |
if (fnm && *fnm && SvOK (*fnm)) |
|
0 |
0 |
if (fnm && *fnm && SvOK (*fnm)) |
911
|
1 |
0 |
(void)sprintf (field, " (column: '%.100s')", SvPV_nolen (*fnm)); |
919
|
4 |
21 |
if (len) *len = 0; |
921
|
5 |
20 |
if (fa == 4) { |
922
|
3 |
2 |
unless (SvREADONLY (sv)) SvSetEmpty (sv); |
926
|
5 |
15 |
if (fa == 5) { |
927
|
3 |
2 |
unless (SvREADONLY (sv)) SvSetUndef (sv); |
931
|
15 |
0 |
if (fa == 6) { |
934
|
15 |
0 |
if (svp && _is_coderef (*svp)) { |
|
15 |
0 |
if (svp && _is_coderef (*svp)) { |
|
0 |
15 |
if (svp && _is_coderef (*svp)) { |
|
0 |
0 |
if (svp && _is_coderef (*svp)) { |
|
15 |
0 |
if (svp && _is_coderef (*svp)) { |
|
15 |
0 |
if (svp && _is_coderef (*svp)) { |
938
|
15 |
0 |
DEFSV = sv; |
939
|
0 |
15 |
PUSHMARK (SP); |
943
|
15 |
0 |
if (result) |
948
|
0 |
15 |
return len ? SvPV (sv, *len) : SvPV_nolen (sv); |
|
0 |
0 |
return len ? SvPV (sv, *len) : SvPV_nolen (sv); |
|
9 |
6 |
return len ? SvPV (sv, *len) : SvPV_nolen (sv); |
1038
|
6 |
21641 |
if (n < 0 && csv->is_bound) { |
|
5 |
1 |
if (n < 0 && csv->is_bound) { |
1043
|
2 |
21645 |
if (kmi >= 10) { |
1045
|
2 |
0 |
if ((svp = hv_fetchs (csv->self, "_FFLAGS", FALSE)) && _is_arrayref (*svp)) { |
|
2 |
0 |
if ((svp = hv_fetchs (csv->self, "_FFLAGS", FALSE)) && _is_arrayref (*svp)) { |
|
0 |
2 |
if ((svp = hv_fetchs (csv->self, "_FFLAGS", FALSE)) && _is_arrayref (*svp)) { |
|
0 |
0 |
if ((svp = hv_fetchs (csv->self, "_FFLAGS", FALSE)) && _is_arrayref (*svp)) { |
|
2 |
0 |
if ((svp = hv_fetchs (csv->self, "_FFLAGS", FALSE)) && _is_arrayref (*svp)) { |
|
2 |
0 |
if ((svp = hv_fetchs (csv->self, "_FFLAGS", FALSE)) && _is_arrayref (*svp)) { |
1047
|
2 |
0 |
if (avp && av_len (avp) >= n) |
|
2 |
0 |
if (avp && av_len (avp) >= n) |
1052
|
53845 |
21636 |
for (i = 0; i <= n; i++) { |
1057
|
32199 |
21646 |
if (i > 0) { |
1058
|
0 |
32199 |
CSV_PUT (csv, dst, CH_SEP); |
|
0 |
0 |
CSV_PUT (csv, dst, CH_SEP); |
1059
|
10 |
32189 |
if (csv->sep_len) { |
1061
|
20 |
10 |
for (x = 1; x < (int)csv->sep_len; x++) |
1062
|
0 |
20 |
CSV_PUT (csv, dst, csv->sep[x]); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->sep[x]); |
1066
|
14 |
53831 |
if (bound) |
1070
|
53831 |
0 |
sv = svp && *svp ? *svp : NULL; |
|
53831 |
0 |
sv = svp && *svp ? *svp : NULL; |
1073
|
53845 |
0 |
if (sv && (SvOK (sv) || ( |
|
53 |
53792 |
if (sv && (SvOK (sv) || ( |
|
53 |
0 |
if (sv && (SvOK (sv) || ( |
|
53 |
0 |
if (sv && (SvOK (sv) || ( |
|
0 |
53 |
if (sv && (SvOK (sv) || ( |
1074
|
0 |
0 |
(SvGMAGICAL (sv) && (mg_get (sv), 1) && SvOK (sv))))) { |
|
0 |
0 |
(SvGMAGICAL (sv) && (mg_get (sv), 1) && SvOK (sv))))) { |
|
0 |
0 |
(SvGMAGICAL (sv) && (mg_get (sv), 1) && SvOK (sv))))) { |
1078
|
32244 |
21548 |
ptr = SvPV (sv, len); |
1080
|
16 |
53776 |
if (*ptr == '=' && csv->formula) { |
|
10 |
6 |
if (*ptr == '=' && csv->formula) { |
1081
|
2 |
4 |
unless (ptr = _formula (csv, sv, &len, i)) |
1084
|
1404 |
52382 |
if (len == 0) |
1085
|
755 |
649 |
quoteMe = aq ? 1 : qe ? 1 : qm ? was_quoted (qm, i) : 0; |
|
752 |
3 |
quoteMe = aq ? 1 : qe ? 1 : qm ? was_quoted (qm, i) : 0; |
|
5 |
747 |
quoteMe = aq ? 1 : qe ? 1 : qm ? was_quoted (qm, i) : 0; |
1088
|
20041 |
32341 |
if (SvUTF8 (sv)) { |
1093
|
46759 |
5623 |
quoteMe = aq ? 1 : qm ? was_quoted (qm, i) : 0; |
|
12 |
46747 |
quoteMe = aq ? 1 : qm ? was_quoted (qm, i) : 0; |
1099
|
46754 |
5628 |
if (!quoteMe && |
|
25179 |
21575 |
if (!quoteMe && |
1100
|
25797 |
20957 |
( quoteMe = (!SvIOK (sv) && !SvNOK (sv) && CH_QUOTE))) { |
|
25182 |
615 |
( quoteMe = (!SvIOK (sv) && !SvNOK (sv) && CH_QUOTE))) { |
|
25179 |
3 |
( quoteMe = (!SvIOK (sv) && !SvNOK (sv) && CH_QUOTE))) { |
1108
|
83767 |
2049 |
for (ptr2 = ptr, l = len; l; ++ptr2, --l) { |
1119
|
83767 |
0 |
if ((CH_QUOTE && c == CH_QUOTE) || |
|
83459 |
308 |
if ((CH_QUOTE && c == CH_QUOTE) || |
|
81456 |
2003 |
if ((CH_QUOTE && c == CH_QUOTE) || |
|
83074 |
10 |
if ((CH_QUOTE && c == CH_QUOTE) || |
1120
|
81305 |
151 |
(CH_SEP && c == CH_SEP) || |
|
83304 |
4 |
(CH_SEP && c == CH_SEP) || |
1121
|
83080 |
224 |
(csv->escape_char && c == csv->escape_char) || |
|
60629 |
22445 |
(csv->escape_char && c == csv->escape_char) || |
|
8 |
2 |
(csv->escape_char && c == csv->escape_char) || |
1122
|
40061 |
43013 |
(csv->quote_binary ? (x >= 0x7f && x <= 0xa0) || |
|
20040 |
20021 |
(csv->quote_binary ? (x >= 0x7f && x <= 0xa0) || |
|
2424 |
60629 |
(csv->quote_binary ? (x >= 0x7f && x <= 0xa0) || |
1124
|
10 |
0 |
: c == CH_NL || c == CH_CR || |
|
10 |
0 |
: c == CH_NL || c == CH_CR || |
|
5 |
5 |
: c == CH_NL || c == CH_CR || |
1125
|
3 |
2 |
(csv->quote_space && ( |
1126
|
0 |
3 |
c == CH_SPACE || c == CH_TAB)))) { |
1137
|
29412 |
24374 |
if (quoteMe) { |
1138
|
0 |
29412 |
CSV_PUT (csv, dst, CH_QUOTE); |
|
0 |
0 |
CSV_PUT (csv, dst, CH_QUOTE); |
1139
|
17 |
29395 |
if (csv->quo_len) { |
1141
|
34 |
17 |
for (x = 1; x < (int)csv->quo_len; x++) |
1142
|
0 |
34 |
CSV_PUT (csv, dst, csv->quo[x]); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->quo[x]); |
1145
|
950361452 |
53779 |
while (len-- > 0) { |
1149
|
755 |
950360697 |
if (!csv->binary && is_csv_binary (c)) { |
|
738 |
17 |
if (!csv->binary && is_csv_binary (c)) { |
|
0 |
738 |
if (!csv->binary && is_csv_binary (c)) { |
|
7 |
10 |
if (!csv->binary && is_csv_binary (c)) { |
1152
|
0 |
7 |
unless (hv_store (csv->self, "_ERROR_INPUT", 12, sv, 0)) |
1157
|
950361436 |
9 |
if (CH_QUOTE && (byte)c == CH_QUOTE && (csv->quo_len == 0 || |
|
3225 |
950358211 |
if (CH_QUOTE && (byte)c == CH_QUOTE && (csv->quo_len == 0 || |
|
9 |
3216 |
if (CH_QUOTE && (byte)c == CH_QUOTE && (csv->quo_len == 0 || |
|
1 |
8 |
if (CH_QUOTE && (byte)c == CH_QUOTE && (csv->quo_len == 0 || |
1161
|
2165 |
950356063 |
if (c == csv->escape_char && csv->escape_char) |
|
2163 |
2 |
if (c == csv->escape_char && csv->escape_char) |
1164
|
56 |
950356009 |
if (c == (char)0 && csv->escape_null) { |
|
29 |
27 |
if (c == (char)0 && csv->escape_null) { |
1168
|
5409 |
950356036 |
if (e && csv->escape_char) |
|
5409 |
0 |
if (e && csv->escape_char) |
1169
|
0 |
5409 |
CSV_PUT (csv, dst, csv->escape_char); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->escape_char); |
1170
|
919632 |
949441813 |
CSV_PUT (csv, dst, c); |
|
0 |
919632 |
CSV_PUT (csv, dst, c); |
1172
|
29405 |
24374 |
if (quoteMe) { |
1173
|
0 |
29405 |
CSV_PUT (csv, dst, CH_QUOTE); |
|
0 |
0 |
CSV_PUT (csv, dst, CH_QUOTE); |
1174
|
17 |
29388 |
if (csv->quo_len) { |
1176
|
34 |
17 |
for (x = 1; x < (int)csv->quo_len; x++) |
1177
|
0 |
34 |
CSV_PUT (csv, dst, csv->quo[x]); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->quo[x]); |
1182
|
8 |
45 |
if (csv->undef_str) { |
1186
|
3 |
5 |
if (csv->undef_flg) { |
1191
|
20 |
8 |
while (len--) |
1192
|
0 |
20 |
CSV_PUT (csv, dst, *ptr++); |
|
0 |
0 |
CSV_PUT (csv, dst, *ptr++); |
1196
|
249 |
21387 |
if (csv->eol_len) { |
1200
|
447 |
249 |
while (len--) |
1201
|
0 |
447 |
CSV_PUT (csv, dst, *ptr++); |
|
0 |
0 |
CSV_PUT (csv, dst, *ptr++); |
1203
|
21634 |
2 |
if (csv->used) |
1212
|
299 |
0 |
if (csv->tmp) { |
1214
|
299 |
0 |
if (hv_store (csv->self, "_ERROR_INPUT", 12, csv->tmp, 0)) |
1222
|
1518 |
3350 |
unless (csv->useIO) |
1225
|
904 |
2446 |
if (csv->tmp && csv->eol_pos >= 0) { |
|
348 |
556 |
if (csv->tmp && csv->eol_pos >= 0) { |
1228
|
348 |
0 |
csv->bptr = SvPV (csv->tmp, csv->size); |
1236
|
0 |
3002 |
PUSHMARK (sp); |
1237
|
0 |
3002 |
EXTEND (sp, 1); |
1243
|
3002 |
0 |
csv->tmp = result ? POPs : NULL; |
1251
|
3002 |
0 |
if (csv->tmp && SvOK (csv->tmp)) { |
|
549 |
2453 |
if (csv->tmp && SvOK (csv->tmp)) { |
|
549 |
0 |
if (csv->tmp && SvOK (csv->tmp)) { |
|
0 |
549 |
if (csv->tmp && SvOK (csv->tmp)) { |
1253
|
2453 |
0 |
csv->bptr = SvPV (csv->tmp, tmp_len); |
1256
|
358 |
2095 |
if (csv->eolx && csv->size >= csv->eol_len) { |
|
358 |
0 |
if (csv->eolx && csv->size >= csv->eol_len) { |
1258
|
1463 |
354 |
for (i = 1; i <= (int)csv->eol_len; i++) { |
1259
|
4 |
1459 |
unless (csv->bptr[csv->size - i] == csv->eol[csv->eol_len - i]) { |
1264
|
354 |
4 |
if (match) { |
1269
|
351 |
3 |
unless (csv->verbatim) |
1273
|
351 |
3 |
unless (csv->verbatim || csv->size) |
|
6 |
345 |
unless (csv->verbatim || csv->size) |
1277
|
70 |
2377 |
if (SvUTF8 (csv->tmp)) csv->utf8 = 1; |
1278
|
2447 |
0 |
if (tmp_len) |
1394
|
1723 |
0 |
char *s = SvPV (sv, len); |
1395
|
1723 |
0 |
unless (s && len) return; |
|
0 |
1723 |
unless (s && len) return; |
1396
|
176 |
1723 |
while (s[len - 1] == CH_SPACE || s[len - 1] == CH_TAB) |
|
0 |
1723 |
while (s[len - 1] == CH_SPACE || s[len - 1] == CH_TAB) |
1445
|
183266 |
3462 |
while ((c = CSV_GET) != EOF) { |
|
185991 |
737 |
while ((c = CSV_GET) != EOF) { |
1447
|
22825 |
163166 |
NewField; |
|
86 |
22739 |
NewField; |
|
4 |
22821 |
NewField; |
1459
|
11879 |
184842 |
if (is_SEP (c)) { |
|
88 |
11791 |
if (is_SEP (c)) { |
|
88 |
0 |
if (is_SEP (c)) { |
|
30 |
58 |
if (is_SEP (c)) { |
|
30 |
0 |
if (is_SEP (c)) { |
1465
|
1173 |
10648 |
if (waitingForField) { |
1469
|
1147 |
26 |
if (csv->blank_is_undef || csv->empty_is_undef) |
|
24 |
1123 |
if (csv->blank_is_undef || csv->empty_is_undef) |
1473
|
1173 |
0 |
unless (csv->is_bound) |
1476
|
8 |
1165 |
if (csv->keep_meta_info && fflags) |
|
8 |
0 |
if (csv->keep_meta_info && fflags) |
1480
|
2194 |
8454 |
if (f & CSV_FLAGS_QUO) { |
1484
|
0 |
2194 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
2194 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
2194 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
0 |
0 |
CSV_PUT_SV (c) |
|
2194 |
0 |
CSV_PUT_SV (c) |
|
144 |
2050 |
CSV_PUT_SV (c) |
1490
|
8452 |
2 |
AV_PUSH; |
|
90 |
8362 |
AV_PUSH; |
|
90 |
0 |
AV_PUSH; |
|
19 |
71 |
AV_PUSH; |
|
2 |
8450 |
AV_PUSH; |
|
2 |
0 |
AV_PUSH; |
|
2 |
0 |
AV_PUSH; |
|
0 |
2 |
AV_PUSH; |
|
1635 |
6817 |
AV_PUSH; |
|
1635 |
0 |
AV_PUSH; |
|
34 |
8418 |
AV_PUSH; |
|
34 |
0 |
AV_PUSH; |
|
32 |
2 |
AV_PUSH; |
|
32 |
0 |
AV_PUSH; |
|
22 |
10 |
AV_PUSH; |
|
5 |
8447 |
AV_PUSH; |
|
8405 |
47 |
AV_PUSH; |
|
21 |
8431 |
AV_PUSH; |
|
21 |
0 |
AV_PUSH; |
1494
|
183869 |
1031 |
if (is_QUOTE (c)) { |
|
22836 |
161033 |
if (is_QUOTE (c)) { |
|
86 |
22750 |
if (is_QUOTE (c)) { |
|
86 |
0 |
if (is_QUOTE (c)) { |
|
70 |
16 |
if (is_QUOTE (c)) { |
|
70 |
0 |
if (is_QUOTE (c)) { |
1500
|
10904 |
11916 |
if (waitingForField) { |
1509
|
11850 |
66 |
if (f & CSV_FLAGS_QUO) { |
1516
|
10529 |
1321 |
int c2 = CSV_GET; |
1518
|
4240 |
7610 |
if (csv->allow_whitespace) { |
1522
|
924 |
3406 |
while (is_whitespace (c2)) { |
|
666 |
258 |
while (is_whitespace (c2)) { |
|
666 |
0 |
while (is_whitespace (c2)) { |
|
69 |
597 |
while (is_whitespace (c2)) { |
|
21 |
576 |
while (is_whitespace (c2)) { |
1523
|
1 |
89 |
if (csv->allow_loose_quotes && |
|
0 |
1 |
if (csv->allow_loose_quotes && |
1524
|
0 |
0 |
!(csv->escape_char && c2 == csv->escape_char)) { |
1530
|
0 |
1 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
1 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
1 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
1 |
0 |
CSV_PUT_SV (c); |
|
0 |
1 |
CSV_PUT_SV (c); |
1533
|
87 |
3 |
c2 = CSV_GET; |
1537
|
9011 |
2839 |
if (is_SEP (c2)) { |
|
15 |
8996 |
if (is_SEP (c2)) { |
|
15 |
0 |
if (is_SEP (c2)) { |
|
15 |
0 |
if (is_SEP (c2)) { |
|
15 |
0 |
if (is_SEP (c2)) { |
1541
|
8311 |
700 |
AV_PUSH; |
|
0 |
8311 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
700 |
8311 |
AV_PUSH; |
|
688 |
12 |
AV_PUSH; |
|
0 |
688 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
3400 |
5599 |
AV_PUSH; |
|
0 |
3400 |
AV_PUSH; |
|
2150 |
6849 |
AV_PUSH; |
|
2150 |
0 |
AV_PUSH; |
|
2131 |
19 |
AV_PUSH; |
|
2131 |
0 |
AV_PUSH; |
|
895 |
1236 |
AV_PUSH; |
|
0 |
9011 |
AV_PUSH; |
|
9007 |
4 |
AV_PUSH; |
|
45 |
8966 |
AV_PUSH; |
|
45 |
0 |
AV_PUSH; |
1545
|
2664 |
175 |
if (c2 == CH_NL || c2 == CH_EOLX) { |
|
20 |
2644 |
if (c2 == CH_NL || c2 == CH_EOLX) { |
1549
|
185 |
10 |
AV_PUSH; |
|
0 |
185 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
10 |
185 |
AV_PUSH; |
|
10 |
0 |
AV_PUSH; |
|
0 |
10 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
6 |
189 |
AV_PUSH; |
|
0 |
6 |
AV_PUSH; |
|
125 |
70 |
AV_PUSH; |
|
125 |
0 |
AV_PUSH; |
|
95 |
30 |
AV_PUSH; |
|
95 |
0 |
AV_PUSH; |
|
92 |
3 |
AV_PUSH; |
|
0 |
195 |
AV_PUSH; |
|
193 |
2 |
AV_PUSH; |
|
1 |
194 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
1560
|
2627 |
17 |
if (csv->escape_char && c == csv->escape_char) { |
|
1547 |
1080 |
if (csv->escape_char && c == csv->escape_char) { |
1563
|
25 |
1522 |
if (c2 == '0') { |
1567
|
25 |
0 |
CSV_PUT_SV (0) |
|
0 |
25 |
CSV_PUT_SV (0) |
1571
|
1522 |
0 |
if (is_QUOTE (c2)) { |
|
1056 |
466 |
if (is_QUOTE (c2)) { |
|
0 |
1056 |
if (is_QUOTE (c2)) { |
|
0 |
0 |
if (is_QUOTE (c2)) { |
|
0 |
0 |
if (is_QUOTE (c2)) { |
|
0 |
0 |
if (is_QUOTE (c2)) { |
1575
|
1 |
1055 |
if (csv->utf8) |
1577
|
0 |
1056 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
1056 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
1056 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
1056 |
0 |
CSV_PUT_SV (c2) |
|
32 |
1024 |
CSV_PUT_SV (c2) |
1581
|
3 |
463 |
if (csv->allow_loose_escapes && c2 != CH_CR) { |
|
2 |
1 |
if (csv->allow_loose_escapes && c2 != CH_CR) { |
1585
|
0 |
2 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
2 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
2 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
2 |
0 |
CSV_PUT_SV (c); |
|
0 |
2 |
CSV_PUT_SV (c); |
1591
|
200 |
1361 |
if (c2 == CH_CR) { |
1594
|
102 |
98 |
if (csv->eol_is_cr) { |
1598
|
98 |
4 |
AV_PUSH; |
|
0 |
98 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
4 |
98 |
AV_PUSH; |
|
4 |
0 |
AV_PUSH; |
|
0 |
4 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
18 |
84 |
AV_PUSH; |
|
0 |
18 |
AV_PUSH; |
|
82 |
20 |
AV_PUSH; |
|
82 |
0 |
AV_PUSH; |
|
82 |
0 |
AV_PUSH; |
|
82 |
0 |
AV_PUSH; |
|
82 |
0 |
AV_PUSH; |
|
0 |
102 |
AV_PUSH; |
|
102 |
0 |
AV_PUSH; |
|
0 |
102 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
1602
|
93 |
5 |
c3 = CSV_GET; |
1604
|
84 |
14 |
if (c3 == CH_NL) { /* \r is not optional before EOLX! */ |
1608
|
82 |
2 |
AV_PUSH; |
|
0 |
82 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
2 |
82 |
AV_PUSH; |
|
2 |
0 |
AV_PUSH; |
|
0 |
2 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
5 |
79 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
70 |
14 |
AV_PUSH; |
|
70 |
0 |
AV_PUSH; |
|
40 |
30 |
AV_PUSH; |
|
40 |
0 |
AV_PUSH; |
|
40 |
0 |
AV_PUSH; |
|
0 |
84 |
AV_PUSH; |
|
84 |
0 |
AV_PUSH; |
|
0 |
84 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
1612
|
1 |
13 |
if (csv->useIO && csv->eol_len == 0) { |
|
1 |
0 |
if (csv->useIO && csv->eol_len == 0) { |
1613
|
0 |
1 |
if (c3 == CH_CR) { /* \r followed by an empty line */ |
1621
|
1 |
0 |
if (!is_csv_binary (c3)) { |
|
0 |
1 |
if (!is_csv_binary (c3)) { |
|
0 |
0 |
if (!is_csv_binary (c3)) { |
1629
|
1 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
1634
|
12 |
1 |
ParseError (csv, quoesc ? 2023 : 2010, csv->used - 2); |
1638
|
1304 |
57 |
if (c2 == EOF) { |
1642
|
1292 |
12 |
AV_PUSH; |
|
0 |
1292 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
12 |
1292 |
AV_PUSH; |
|
12 |
0 |
AV_PUSH; |
|
0 |
12 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
533 |
771 |
AV_PUSH; |
|
0 |
533 |
AV_PUSH; |
|
14 |
1290 |
AV_PUSH; |
|
14 |
0 |
AV_PUSH; |
|
9 |
5 |
AV_PUSH; |
|
9 |
0 |
AV_PUSH; |
|
7 |
2 |
AV_PUSH; |
|
0 |
1304 |
AV_PUSH; |
|
1304 |
0 |
AV_PUSH; |
|
11 |
1293 |
AV_PUSH; |
|
11 |
0 |
AV_PUSH; |
1646
|
12 |
45 |
if (csv->allow_loose_quotes && !quoesc) { |
|
10 |
2 |
if (csv->allow_loose_quotes && !quoesc) { |
1650
|
0 |
10 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
10 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
10 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
10 |
0 |
CSV_PUT_SV (c); |
|
2 |
8 |
CSV_PUT_SV (c); |
1658
|
39 |
8 |
if (quoesc) { |
1660
|
39 |
0 |
ERROR_INSIDE_QUOTES (2023); |
1663
|
8 |
0 |
ERROR_INSIDE_QUOTES (2011); |
1667
|
16 |
50 |
if (csv->allow_loose_quotes) { /* 1,foo "boo" d'uh,1 */ |
1669
|
0 |
16 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
16 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
16 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
16 |
0 |
CSV_PUT_SV (c); |
|
0 |
16 |
CSV_PUT_SV (c); |
1672
|
49 |
1 |
ERROR_INSIDE_FIELD (2034); |
1675
|
4653 |
157427 |
if (c == csv->escape_char && csv->escape_char) { |
|
4651 |
2 |
if (c == csv->escape_char && csv->escape_char) { |
1682
|
33 |
4618 |
if (waitingForField) { |
1684
|
3 |
30 |
if (csv->allow_unquoted_escape) { |
1688
|
2 |
1 |
int c2 = CSV_GET; |
1692
|
1 |
2 |
if (c2 == EOF) { |
1694
|
1 |
0 |
ERROR_INSIDE_FIELD (2035); |
1697
|
1 |
1 |
if (c2 == '0') |
1698
|
1 |
0 |
CSV_PUT_SV (0) |
|
0 |
1 |
CSV_PUT_SV (0) |
1700
|
1 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
1 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
1 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
1 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
1701
|
0 |
0 |
c2 == csv->escape_char || csv->allow_loose_escapes) { |
1702
|
0 |
1 |
if (csv->utf8) |
1704
|
0 |
1 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
1 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
1 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
1 |
0 |
CSV_PUT_SV (c2) |
|
0 |
1 |
CSV_PUT_SV (c2) |
1708
|
0 |
0 |
ERROR_INSIDE_QUOTES (2025); |
1713
|
4610 |
8 |
if (f & CSV_FLAGS_QUO) { |
1714
|
4607 |
3 |
int c2 = CSV_GET; |
1716
|
3 |
4607 |
if (c2 == EOF) { |
1718
|
3 |
0 |
ERROR_INSIDE_QUOTES (2024); |
1721
|
2 |
4605 |
if (c2 == '0') |
1722
|
2 |
0 |
CSV_PUT_SV (0) |
|
0 |
2 |
CSV_PUT_SV (0) |
1724
|
4605 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
2411 |
2194 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
1 |
2410 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
1 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
1 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
1 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
1 |
2193 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
1 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
0 |
0 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
|
28 |
2165 |
if ( is_QUOTE (c2) || is_SEP (c2) || |
1725
|
2 |
26 |
c2 == csv->escape_char || csv->allow_loose_escapes) { |
1726
|
1 |
4578 |
if (csv->utf8) |
1728
|
0 |
4579 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
4579 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
0 |
0 |
CSV_PUT_SV (c2) |
|
1 |
4578 |
CSV_PUT_SV (c2) |
|
3 |
0 |
CSV_PUT_SV (c2) |
|
0 |
3 |
CSV_PUT_SV (c2) |
|
3 |
1 |
CSV_PUT_SV (c2) |
|
4578 |
0 |
CSV_PUT_SV (c2) |
|
292 |
4286 |
CSV_PUT_SV (c2) |
1732
|
26 |
0 |
ERROR_INSIDE_QUOTES (2025); |
1736
|
8 |
0 |
if (sv) { |
1737
|
4 |
4 |
int c2 = CSV_GET; |
1739
|
4 |
4 |
if (c2 == EOF) { |
1741
|
4 |
0 |
ERROR_INSIDE_FIELD (2035); |
1744
|
0 |
4 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
4 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
4 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
0 |
0 |
CSV_PUT_SV (c2); |
|
4 |
0 |
CSV_PUT_SV (c2); |
|
0 |
4 |
CSV_PUT_SV (c2); |
1747
|
0 |
0 |
ERROR_INSIDE_FIELD (2036); /* uncoverable statement I think there's no way to get here */ |
1750
|
155588 |
1841 |
if (c == CH_NL || is_EOL (c)) { |
|
334 |
155254 |
if (c == CH_NL || is_EOL (c)) { |
1757
|
293 |
2342 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
210 |
83 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
101 |
109 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
59 |
42 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
1758
|
3 |
56 |
SkipEmptyRow; |
|
3 |
53 |
SkipEmptyRow; |
|
2 |
51 |
SkipEmptyRow; |
|
41 |
10 |
SkipEmptyRow; |
|
7 |
34 |
SkipEmptyRow; |
|
39 |
2 |
SkipEmptyRow; |
|
2 |
37 |
SkipEmptyRow; |
|
2 |
2 |
SkipEmptyRow; |
|
10 |
37 |
SkipEmptyRow; |
|
10 |
0 |
SkipEmptyRow; |
|
10 |
0 |
SkipEmptyRow; |
|
0 |
10 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
10 |
0 |
SkipEmptyRow; |
|
0 |
10 |
SkipEmptyRow; |
|
10 |
0 |
SkipEmptyRow; |
|
0 |
10 |
SkipEmptyRow; |
|
0 |
10 |
SkipEmptyRow; |
|
10 |
0 |
SkipEmptyRow; |
|
0 |
10 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
8 |
2 |
SkipEmptyRow; |
|
0 |
8 |
SkipEmptyRow; |
|
0 |
8 |
SkipEmptyRow; |
|
0 |
8 |
SkipEmptyRow; |
|
0 |
8 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
32 |
0 |
SkipEmptyRow; |
|
32 |
0 |
SkipEmptyRow; |
|
32 |
0 |
SkipEmptyRow; |
|
28 |
4 |
SkipEmptyRow; |
|
32 |
0 |
SkipEmptyRow; |
|
0 |
32 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
32 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
32 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
32 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
32 |
SkipEmptyRow; |
|
32 |
0 |
SkipEmptyRow; |
|
0 |
32 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
32 |
8 |
SkipEmptyRow; |
1762
|
223 |
2353 |
if (waitingForField) { |
1766
|
215 |
8 |
if (csv->blank_is_undef || csv->empty_is_undef) |
|
8 |
207 |
if (csv->blank_is_undef || csv->empty_is_undef) |
1770
|
223 |
0 |
unless (csv->is_bound) |
1772
|
14 |
209 |
if (csv->keep_meta_info && fflags) |
|
14 |
0 |
if (csv->keep_meta_info && fflags) |
1777
|
744 |
1609 |
if (f & CSV_FLAGS_QUO) { |
1782
|
19 |
725 |
unless (csv->binary) |
1783
|
19 |
0 |
ERROR_INSIDE_QUOTES (2021); |
1785
|
40 |
685 |
CSV_PUT_SV (c); |
|
35 |
5 |
CSV_PUT_SV (c); |
|
74 |
0 |
CSV_PUT_SV (c); |
|
0 |
74 |
CSV_PUT_SV (c); |
|
74 |
40 |
CSV_PUT_SV (c); |
|
0 |
685 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
685 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
685 |
0 |
CSV_PUT_SV (c); |
|
0 |
685 |
CSV_PUT_SV (c); |
1788
|
9 |
1600 |
if (csv->verbatim) { |
1793
|
1 |
8 |
unless (csv->binary) |
1794
|
1 |
0 |
ERROR_INSIDE_FIELD (2030); |
1796
|
2 |
6 |
CSV_PUT_SV (c); |
|
0 |
2 |
CSV_PUT_SV (c); |
|
6 |
0 |
CSV_PUT_SV (c); |
|
1 |
5 |
CSV_PUT_SV (c); |
|
6 |
2 |
CSV_PUT_SV (c); |
|
0 |
6 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
6 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
6 |
0 |
CSV_PUT_SV (c); |
|
0 |
6 |
CSV_PUT_SV (c); |
1802
|
281 |
1319 |
if (csv->recno == 0 && csv->fld_idx == 1 && csv->useIO && |
|
28 |
253 |
if (csv->recno == 0 && csv->fld_idx == 1 && csv->useIO && |
|
28 |
0 |
if (csv->recno == 0 && csv->fld_idx == 1 && csv->useIO && |
|
23 |
5 |
if (csv->recno == 0 && csv->fld_idx == 1 && csv->useIO && |
1803
|
0 |
23 |
(csv->bptr[0] == 's' || csv->bptr[0] == 'S') && |
|
0 |
5 |
(csv->bptr[0] == 's' || csv->bptr[0] == 'S') && |
1804
|
0 |
0 |
(csv->bptr[1] == 'e' || csv->bptr[1] == 'E') && |
|
0 |
5 |
(csv->bptr[1] == 'e' || csv->bptr[1] == 'E') && |
1805
|
0 |
0 |
(csv->bptr[2] == 'p' || csv->bptr[2] == 'P') && |
|
5 |
0 |
(csv->bptr[2] == 'p' || csv->bptr[2] == 'P') && |
1809
|
4 |
1 |
if (lnu <= MAX_ATTR_LEN) { |
1812
|
1 |
3 |
csv->sep_len = lnu == 1 ? 0 : lnu; |
1820
|
1589 |
7 |
AV_PUSH; |
|
4 |
1585 |
AV_PUSH; |
|
4 |
0 |
AV_PUSH; |
|
1 |
3 |
AV_PUSH; |
|
7 |
1589 |
AV_PUSH; |
|
7 |
0 |
AV_PUSH; |
|
7 |
0 |
AV_PUSH; |
|
0 |
7 |
AV_PUSH; |
|
66 |
1530 |
AV_PUSH; |
|
66 |
0 |
AV_PUSH; |
|
82 |
1514 |
AV_PUSH; |
|
82 |
0 |
AV_PUSH; |
|
81 |
1 |
AV_PUSH; |
|
81 |
0 |
AV_PUSH; |
|
37 |
44 |
AV_PUSH; |
|
1 |
1595 |
AV_PUSH; |
|
1578 |
18 |
AV_PUSH; |
|
9 |
1587 |
AV_PUSH; |
|
9 |
0 |
AV_PUSH; |
1825
|
1106 |
154148 |
if (c == CH_CR && !(csv->verbatim)) { |
|
1103 |
3 |
if (c == CH_CR && !(csv->verbatim)) { |
1830
|
114 |
989 |
if (waitingForField) { |
1833
|
29 |
85 |
if (csv->eol_is_cr) { |
1841
|
80 |
5 |
c2 = CSV_GET; |
1843
|
5 |
80 |
if (c2 == EOF) { |
1853
|
0 |
5 |
unless (seenSomething) |
1858
|
70 |
10 |
if (c2 == CH_NL) { /* \r is not optional before EOLX! */ |
1866
|
5 |
5 |
if (csv->useIO && csv->eol_len == 0) { |
|
5 |
0 |
if (csv->useIO && csv->eol_len == 0) { |
1867
|
0 |
5 |
if (c2 == CH_CR) { /* \r followed by an empty line */ |
1877
|
2 |
3 |
if (!is_csv_binary (c2)) { |
|
0 |
2 |
if (!is_csv_binary (c2)) { |
|
0 |
3 |
if (!is_csv_binary (c2)) { |
1885
|
1 |
1 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
1 |
0 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
1 |
0 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
1 |
0 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
1886
|
0 |
1 |
SkipEmptyRow; |
|
0 |
1 |
SkipEmptyRow; |
|
0 |
1 |
SkipEmptyRow; |
|
1 |
0 |
SkipEmptyRow; |
|
1 |
0 |
SkipEmptyRow; |
|
1 |
0 |
SkipEmptyRow; |
|
0 |
1 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
1 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
1889
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
|
0 |
1 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
1898
|
8 |
0 |
ERROR_INSIDE_FIELD (2031); |
1901
|
620 |
369 |
if (f & CSV_FLAGS_QUO) { |
1906
|
70 |
550 |
unless (csv->binary) |
1907
|
70 |
0 |
ERROR_INSIDE_QUOTES (2022); |
1909
|
0 |
550 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
550 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
550 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
550 |
0 |
CSV_PUT_SV (c); |
|
2 |
548 |
CSV_PUT_SV (c); |
1914
|
181 |
188 |
if (csv->eol_is_cr) { |
1921
|
183 |
5 |
c2 = CSV_GET; |
1923
|
172 |
16 |
if (c2 == CH_NL) { /* \r is not optional before EOLX! */ |
1930
|
11 |
5 |
if (csv->useIO && csv->eol_len == 0) { |
|
11 |
0 |
if (csv->useIO && csv->eol_len == 0) { |
1931
|
4 |
7 |
if (!is_csv_binary (c2) |
|
0 |
4 |
if (!is_csv_binary (c2) |
|
7 |
0 |
if (!is_csv_binary (c2) |
1936
|
1 |
6 |
|| c2 == CH_CR) { |
1943
|
0 |
5 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
0 |
0 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
0 |
0 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
|
0 |
0 |
if (fnum == 1 && f == 0 && SvCUR (sv) == 0 && csv->skip_empty_rows) { |
1944
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
|
0 |
0 |
SkipEmptyRow; |
1947
|
5 |
0 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
5 |
0 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
1955
|
11 |
0 |
ERROR_INSIDE_FIELD (2032); |
1965
|
3646 |
150505 |
if (csv->eolx && c == CH_EOL && |
|
8 |
3638 |
if (csv->eolx && c == CH_EOL && |
|
8 |
0 |
if (csv->eolx && c == CH_EOL && |
1966
|
8 |
0 |
csv->size - csv->used >= (STRLEN)csv->eol_len - 1 && |
1967
|
8 |
0 |
!memcmp (csv->bptr + csv->used, csv->eol + 1, csv->eol_len - 1) && |
1976
|
10680 |
143463 |
if (waitingForField) { |
1977
|
136 |
10544 |
if (csv->comment_str && !f && !spl && c == *csv->comment_str) { |
|
136 |
0 |
if (csv->comment_str && !f && !spl && c == *csv->comment_str) { |
|
84 |
52 |
if (csv->comment_str && !f && !spl && c == *csv->comment_str) { |
|
24 |
60 |
if (csv->comment_str && !f && !spl && c == *csv->comment_str) { |
1985
|
18 |
6 |
if (cl == 1 || ( |
|
18 |
0 |
if (cl == 1 || ( |
1986
|
18 |
0 |
(csv->size - csv->used >= cl - 1 && |
1987
|
18 |
0 |
!memcmp (csv->bptr + csv->used, csv->comment_str + 1, cl - 1) && |
1991
|
0 |
24 |
c = CSV_GET; |
1999
|
1924 |
8732 |
if (csv->allow_whitespace && is_whitespace (c)) { |
|
1924 |
0 |
if (csv->allow_whitespace && is_whitespace (c)) { |
|
1924 |
0 |
if (csv->allow_whitespace && is_whitespace (c)) { |
|
1924 |
0 |
if (csv->allow_whitespace && is_whitespace (c)) { |
|
1723 |
201 |
if (csv->allow_whitespace && is_whitespace (c)) { |
|
0 |
1723 |
if (csv->allow_whitespace && is_whitespace (c)) { |
2001
|
310 |
1 |
c = CSV_GET; |
2005
|
273 |
38 |
} while (is_whitespace (c)); |
|
241 |
32 |
} while (is_whitespace (c)); |
|
241 |
0 |
} while (is_whitespace (c)); |
|
110 |
131 |
} while (is_whitespace (c)); |
|
0 |
131 |
} while (is_whitespace (c)); |
2006
|
1 |
200 |
if (c == EOF) |
2020
|
111032 |
32431 |
if (f & CSV_FLAGS_QUO) { |
2021
|
110584 |
448 |
if (is_csv_binary (c)) { |
|
3021 |
107563 |
if (is_csv_binary (c)) { |
|
3454 |
15 |
if (is_csv_binary (c)) { |
2023
|
31 |
3423 |
unless (csv->binary || csv->utf8) |
|
5 |
26 |
unless (csv->binary || csv->utf8) |
2024
|
5 |
0 |
ERROR_INSIDE_QUOTES (2026); |
2026
|
0 |
111027 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
111027 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
111027 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
111027 |
0 |
CSV_PUT_SV (c); |
|
4770 |
106257 |
CSV_PUT_SV (c); |
2029
|
32393 |
38 |
if (is_csv_binary (c)) { |
|
427 |
31966 |
if (is_csv_binary (c)) { |
|
453 |
12 |
if (is_csv_binary (c)) { |
2030
|
413 |
40 |
if (csv->useIO && c == EOF) |
|
3 |
410 |
if (csv->useIO && c == EOF) |
2033
|
9 |
441 |
unless (csv->binary || csv->utf8) |
|
9 |
0 |
unless (csv->binary || csv->utf8) |
2034
|
9 |
0 |
ERROR_INSIDE_FIELD (2037); |
2036
|
0 |
32419 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
32419 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
32419 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
0 |
0 |
CSV_PUT_SV (c); |
|
32419 |
0 |
CSV_PUT_SV (c); |
|
269 |
32150 |
CSV_PUT_SV (c); |
2041
|
119 |
161062 |
if (csv->verbatim && csv->useIO && csv->used == csv->size) |
|
47 |
72 |
if (csv->verbatim && csv->useIO && csv->used == csv->size) |
|
3 |
44 |
if (csv->verbatim && csv->useIO && csv->used == csv->size) |
2045
|
366 |
380 |
if (waitingForField) { |
2046
|
335 |
31 |
if (seenSomething || !csv->useIO) { |
|
3 |
332 |
if (seenSomething || !csv->useIO) { |
2047
|
33 |
1 |
NewField; |
|
1 |
32 |
NewField; |
|
0 |
33 |
NewField; |
2048
|
30 |
4 |
if (csv->blank_is_undef || csv->empty_is_undef) |
|
4 |
26 |
if (csv->blank_is_undef || csv->empty_is_undef) |
2052
|
33 |
1 |
unless (csv->is_bound) |
2054
|
3 |
31 |
if (csv->keep_meta_info && fflags) |
|
3 |
0 |
if (csv->keep_meta_info && fflags) |
2063
|
24 |
356 |
if (f & CSV_FLAGS_QUO) |
2064
|
24 |
0 |
ERROR_INSIDE_QUOTES (2027); |
2066
|
354 |
2 |
if (sv) { |
2067
|
344 |
10 |
AV_PUSH; |
|
40 |
304 |
AV_PUSH; |
|
40 |
0 |
AV_PUSH; |
|
7 |
33 |
AV_PUSH; |
|
10 |
344 |
AV_PUSH; |
|
10 |
0 |
AV_PUSH; |
|
10 |
0 |
AV_PUSH; |
|
0 |
10 |
AV_PUSH; |
|
22 |
332 |
AV_PUSH; |
|
22 |
0 |
AV_PUSH; |
|
153 |
201 |
AV_PUSH; |
|
153 |
0 |
AV_PUSH; |
|
152 |
1 |
AV_PUSH; |
|
152 |
0 |
AV_PUSH; |
|
63 |
89 |
AV_PUSH; |
|
1 |
353 |
AV_PUSH; |
|
344 |
10 |
AV_PUSH; |
|
1 |
353 |
AV_PUSH; |
|
1 |
0 |
AV_PUSH; |
2069
|
2 |
0 |
else if (f == 0 && fnum == 1 && csv->skip_empty_rows == 1) |
|
2 |
0 |
else if (f == 0 && fnum == 1 && csv->skip_empty_rows == 1) |
|
2 |
0 |
else if (f == 0 && fnum == 1 && csv->skip_empty_rows == 1) |
2082
|
125 |
0 |
unless ((svp = hv_fetchs (hv, "callbacks", FALSE)) && _is_hashref (*svp)) |
|
125 |
0 |
unless ((svp = hv_fetchs (hv, "callbacks", FALSE)) && _is_hashref (*svp)) |
|
0 |
125 |
unless ((svp = hv_fetchs (hv, "callbacks", FALSE)) && _is_hashref (*svp)) |
|
0 |
0 |
unless ((svp = hv_fetchs (hv, "callbacks", FALSE)) && _is_hashref (*svp)) |
|
125 |
0 |
unless ((svp = hv_fetchs (hv, "callbacks", FALSE)) && _is_hashref (*svp)) |
|
0 |
125 |
unless ((svp = hv_fetchs (hv, "callbacks", FALSE)) && _is_hashref (*svp)) |
2087
|
125 |
0 |
unless (svp && _is_coderef (*svp)) |
|
125 |
0 |
unless (svp && _is_coderef (*svp)) |
|
0 |
125 |
unless (svp && _is_coderef (*svp)) |
|
0 |
0 |
unless (svp && _is_coderef (*svp)) |
|
125 |
0 |
unless (svp && _is_coderef (*svp)) |
|
0 |
125 |
unless (svp && _is_coderef (*svp)) |
2093
|
0 |
125 |
PUSHMARK (SP); |
2094
|
0 |
125 |
mXPUSHs (newRV_inc ((SV *)hv)); |
2095
|
0 |
125 |
mXPUSHs (newRV_inc ((SV *)av)); |
2099
|
125 |
0 |
if (res) { |
2101
|
64 |
61 |
if (SvROK (rv) && (rv = SvRV (rv)) && SvPOK (rv)) { |
|
64 |
0 |
if (SvROK (rv) && (rv = SvRV (rv)) && SvPOK (rv)) { |
|
64 |
0 |
if (SvROK (rv) && (rv = SvRV (rv)) && SvPOK (rv)) { |
2102
|
64 |
0 |
if (strcmp (SvPV_nolen (rv), "skip") == 0) |
|
64 |
0 |
if (strcmp (SvPV_nolen (rv), "skip") == 0) |
2107
|
125 |
0 |
FREETMPS; |
2119
|
4145 |
405 |
if (csv.eolx || csv.eol_is_cr) { |
|
444 |
3701 |
if (csv.eolx || csv.eol_is_cr) { |
2125
|
2622 |
1928 |
if ((csv.useIO = useIO)) { |
2128
|
176 |
2446 |
if ((ahead = csv.has_ahead)) { |
2130
|
176 |
0 |
if ((svp = hv_fetchs (hv, "_AHEAD", FALSE)) && *svp) { |
|
176 |
0 |
if ((svp = hv_fetchs (hv, "_AHEAD", FALSE)) && *svp) { |
2131
|
175 |
1 |
csv.bptr = SvPV (csv.tmp = *svp, csv.size); |
2133
|
0 |
176 |
if (pos && SvIV (pos) > (IV)csv.size) |
|
0 |
0 |
if (pos && SvIV (pos) > (IV)csv.size) |
|
0 |
0 |
if (pos && SvIV (pos) > (IV)csv.size) |
2134
|
0 |
0 |
sv_setiv (pos, SvIV (pos) - csv.size); |
2141
|
1928 |
0 |
csv.bptr = SvPV (src, csv.size); |
2143
|
217 |
4333 |
if (csv.has_error_input) { |
2152
|
27 |
4512 |
if (csv.strict) { |
2153
|
8 |
19 |
unless (csv.strict_n) csv.strict_n = (short)csv.fld_idx; |
2154
|
12 |
15 |
if (csv.fld_idx != csv.strict_n) { |
2155
|
8 |
4 |
unless (csv.useIO & useIO_EOF) |
2157
|
8 |
4 |
if (last_error) /* an error callback can reset and accept */ |
2162
|
2614 |
1925 |
if (csv.useIO) { |
2163
|
2614 |
0 |
if (csv.tmp && csv.used < csv.size && csv.has_ahead) { |
|
413 |
2201 |
if (csv.tmp && csv.used < csv.size && csv.has_ahead) { |
|
37 |
376 |
if (csv.tmp && csv.used < csv.size && csv.has_ahead) { |
2169
|
549 |
2028 |
if (csv.useIO & useIO_EOF) |
2175
|
1580 |
1034 |
if (avf) { |
2176
|
11 |
1569 |
if (csv.keep_meta_info) |
2187
|
3903 |
636 |
if (result && csv.types) { |
|
2 |
3901 |
if (result && csv.types) { |
2192
|
6 |
2 |
for (i = 0; i <= len && i <= csv.types_len; i++) { |
|
6 |
0 |
for (i = 0; i <= len && i <= csv.types_len; i++) { |
2193
|
6 |
0 |
if ((svp = av_fetch (av, i, FALSE)) && *svp && SvOK (*svp)) { |
|
6 |
0 |
if ((svp = av_fetch (av, i, FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
6 |
if ((svp = av_fetch (av, i, FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
0 |
if ((svp = av_fetch (av, i, FALSE)) && *svp && SvOK (*svp)) { |
|
0 |
0 |
if ((svp = av_fetch (av, i, FALSE)) && *svp && SvOK (*svp)) { |
2197
|
0 |
2 |
sv_setiv (*svp, SvIV (*svp)); |
2208
|
0 |
2 |
sv_setnv (*svp, SvNV (*svp)); |
2235
|
3165 |
340 |
if (state && csv.has_hooks & HOOK_AFTER_PARSE) |
|
5 |
3160 |
if (state && csv.has_hooks & HOOK_AFTER_PARSE) |
2237
|
340 |
3165 |
return (state || !last_error); |
|
2 |
338 |
return (state || !last_error); |
2243
|
250 |
83 |
while (av_len (av) >= 0) |
2256
|
278 |
56 |
if (SvOK (off)) { |
|
278 |
0 |
if (SvOK (off)) { |
|
0 |
278 |
if (SvOK (off)) { |
2257
|
48 |
8 |
skip = SvIV (off); |
2258
|
12 |
44 |
if (skip < 0) { |
2263
|
290 |
44 |
if (SvOK (len)) |
|
290 |
0 |
if (SvOK (len)) |
|
0 |
290 |
if (SvOK (len)) |
2264
|
36 |
8 |
length = SvIV (len); |
2266
|
738 |
296 |
while (c_xsParse (csv, hv, row, NULL, io, 1)) { |
2270
|
20 |
718 |
if (skip > 0) { |
2276
|
12 |
706 |
if (n++ >= tail) { |
2281
|
117 |
601 |
if (csv.has_hooks & HOOK_AFTER_PARSE) { |
2282
|
63 |
54 |
unless (hook (aTHX_ hv, "after_parse", row)) { |
2289
|
52 |
603 |
if (n >= length && skip >= 0) |
|
32 |
20 |
if (n >= length && skip >= 0) |
2294
|
8 |
328 |
while (n > length) { |
2313
|
260 |
21387 |
if (*csv.eol) |
2316
|
20251 |
1396 |
if (useIO && csv.has_hooks & HOOK_BEFORE_PRINT) |
|
3 |
20248 |
if (useIO && csv.has_hooks & HOOK_BEFORE_PRINT) |
2322
|
21635 |
8 |
if (result && !useIO && csv.utf8) |
|
1391 |
20244 |
if (result && !useIO && csv.utf8) |
|
25 |
1366 |
if (result && !useIO && csv.utf8) |
2343
|
0 |
2940 |
if (SvOK (self) && SvROK (self)) { |
|
0 |
0 |
if (SvOK (self) && SvROK (self)) { |
|
0 |
0 |
if (SvOK (self) && SvROK (self)) { |
|
1047 |
1893 |
if (SvOK (self) && SvROK (self)) { |
2344
|
1047 |
0 |
CSV_XS_SELF; |
|
0 |
1047 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
1047 |
0 |
CSV_XS_SELF; |
|
0 |
1047 |
CSV_XS_SELF; |
2353
|
2017 |
923 |
if (xse && items > 2 && SvPOK (ST (2))) { |
|
941 |
1076 |
if (xse && items > 2 && SvPOK (ST (2))) { |
|
941 |
0 |
if (xse && items > 2 && SvPOK (ST (2))) { |
2365
|
8 |
0 |
if (self && SvOK (self) && SvROK (self) && SvTYPE (SvRV (self)) == SVt_PVHV) { |
|
1 |
7 |
if (self && SvOK (self) && SvROK (self) && SvTYPE (SvRV (self)) == SVt_PVHV) { |
|
1 |
0 |
if (self && SvOK (self) && SvROK (self) && SvTYPE (SvRV (self)) == SVt_PVHV) { |
|
0 |
1 |
if (self && SvOK (self) && SvROK (self) && SvTYPE (SvRV (self)) == SVt_PVHV) { |
|
5 |
2 |
if (self && SvOK (self) && SvROK (self) && SvTYPE (SvRV (self)) == SVt_PVHV) { |
|
4 |
1 |
if (self && SvOK (self) && SvROK (self) && SvTYPE (SvRV (self)) == SVt_PVHV) { |
2368
|
1 |
3 |
if (SvOK (*sv)) |
|
1 |
0 |
if (SvOK (*sv)) |
|
0 |
1 |
if (SvOK (*sv)) |
2386
|
1396 |
0 |
CSV_XS_SELF; |
|
0 |
1396 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
1396 |
0 |
CSV_XS_SELF; |
|
0 |
1396 |
CSV_XS_SELF; |
2388
|
1391 |
1 |
ST (0) = xsCombine (self, hv, av, dst, useIO) ? &PL_sv_yes : &PL_sv_undef; |
2400
|
1928 |
0 |
CSV_XS_SELF; |
|
0 |
1928 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
1928 |
0 |
CSV_XS_SELF; |
|
0 |
1928 |
CSV_XS_SELF; |
2404
|
1724 |
201 |
ST (0) = xsParse (self, hv, av, avf, src, 0) ? &PL_sv_yes : &PL_sv_no; |
2415
|
20256 |
0 |
CSV_XS_SELF; |
|
0 |
20256 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
20256 |
0 |
CSV_XS_SELF; |
|
0 |
20256 |
CSV_XS_SELF; |
2416
|
5 |
20251 |
if (fields == &PL_sv_undef) |
2419
|
20251 |
0 |
unless (_is_arrayref (fields)) |
|
1 |
20250 |
unless (_is_arrayref (fields)) |
|
1 |
0 |
unless (_is_arrayref (fields)) |
|
20248 |
3 |
unless (_is_arrayref (fields)) |
|
2 |
20246 |
unless (_is_arrayref (fields)) |
2425
|
20244 |
7 |
ST (0) = xsCombine (self, hv, av, io, 1) ? &PL_sv_yes : &PL_sv_no; |
2437
|
1582 |
0 |
CSV_XS_SELF; |
|
0 |
1582 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
1582 |
0 |
CSV_XS_SELF; |
|
0 |
1582 |
CSV_XS_SELF; |
2442
|
1443 |
137 |
: &PL_sv_undef; |
2453
|
334 |
0 |
CSV_XS_SELF; |
|
0 |
334 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
334 |
0 |
CSV_XS_SELF; |
|
0 |
334 |
CSV_XS_SELF; |
2455
|
56 |
278 |
offset = items > 2 ? ST (2) : &PL_sv_undef; |
2456
|
44 |
290 |
length = items > 3 ? ST (3) : &PL_sv_undef; |
2468
|
23241 |
0 |
CSV_XS_SELF; |
|
0 |
23241 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
23241 |
0 |
CSV_XS_SELF; |
|
0 |
23241 |
CSV_XS_SELF; |
2479
|
2 |
0 |
CSV_XS_SELF; |
|
0 |
2 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
0 |
0 |
CSV_XS_SELF; |
|
2 |
0 |
CSV_XS_SELF; |
|
0 |
2 |
CSV_XS_SELF; |