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) { |
600
|
1 |
0 |
if (csv->sep_len > 1) |
603
|
1 |
0 |
if (csv->quo_len > 1) |
605
|
0 |
1 |
if (csv->types_len) |
610
|
1 |
0 |
if (csv->bptr) |
612
|
1 |
0 |
if (csv->tmp && SvPOK (csv->tmp)) { |
|
0 |
1 |
if (csv->tmp && SvPOK (csv->tmp)) { |
613
|
0 |
0 |
char *s = SvPV_nolen (csv->tmp); |
616
|
1 |
0 |
if (csv->cache) |
629
|
1 |
1 |
unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) { |
|
0 |
1 |
unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) { |
634
|
1 |
0 |
cache = (byte *)SvPV_nolen (*svp); |
657
|
26453 |
823 |
if ((svp = hv_fetchs (self, "_CACHE", FALSE)) && *svp) { |
|
26453 |
0 |
if ((svp = hv_fetchs (self, "_CACHE", FALSE)) && *svp) { |
670
|
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)) |
671
|
823 |
0 |
CH_SEP = *SvPV (*svp, len); |
672
|
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)) { |
673
|
224 |
0 |
ptr = SvPV (*svp, len); |
675
|
5 |
219 |
if (len > 1) |
680
|
823 |
0 |
if ((svp = hv_fetchs (self, "quote_char", FALSE)) && *svp) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "quote_char", FALSE)) && *svp) { |
681
|
3 |
820 |
if (SvOK (*svp)) { |
|
3 |
0 |
if (SvOK (*svp)) { |
|
0 |
3 |
if (SvOK (*svp)) { |
682
|
820 |
0 |
ptr = SvPV (*svp, len); |
683
|
820 |
0 |
CH_QUOTE = len ? *ptr : (char)0; |
688
|
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)) { |
689
|
5 |
0 |
ptr = SvPV (*svp, len); |
691
|
4 |
1 |
if (len > 1) |
696
|
823 |
0 |
if ((svp = hv_fetchs (self, "escape_char", FALSE)) && *svp) { |
|
823 |
0 |
if ((svp = hv_fetchs (self, "escape_char", FALSE)) && *svp) { |
697
|
6 |
817 |
if (SvOK (*svp)) { |
|
6 |
0 |
if (SvOK (*svp)) { |
|
0 |
6 |
if (SvOK (*svp)) { |
698
|
817 |
0 |
ptr = SvPV (*svp, len); |
699
|
815 |
2 |
csv->escape_char = len ? *ptr : (char)0; |
705
|
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)) { |
706
|
819 |
0 |
char *eol = SvPV (*svp, len); |
709
|
101 |
718 |
if (len == 1 && *csv->eol == CH_CR) |
|
42 |
59 |
if (len == 1 && *csv->eol == CH_CR) |
714
|
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)) { |
717
|
1 |
0 |
csv->undef_str = (byte *)SvPV_nolen (*svp); |
718
|
0 |
1 |
if (SvUTF8 (*svp)) |
724
|
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)) |
725
|
12 |
0 |
csv->comment_str = (byte *)SvPV_nolen (*svp); |
729
|
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)) { |
730
|
1 |
0 |
csv->types = SvPV (*svp, len); |
734
|
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)) |
735
|
4 |
0 |
csv->is_bound = SvIV (*svp); |
736
|
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)) { |
738
|
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)) |
740
|
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)) |
744
|
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"); |
745
|
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"); |
746
|
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"); |
747
|
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"); |
748
|
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"); |
749
|
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); |
750
|
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); |
751
|
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); |
752
|
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"); |
753
|
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"); |
754
|
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"); |
755
|
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"); |
756
|
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"); |
757
|
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"); |
758
|
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"); |
760
|
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"); |
761
|
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"); |
762
|
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"); |
763
|
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"); |
764
|
823 |
0 |
csv->formula = num_opt ("formula"); |
|
823 |
0 |
csv->formula = num_opt ("formula"); |
|
823 |
0 |
csv->formula = num_opt ("formula"); |
766
|
8 |
815 |
unless (csv->escape_char) csv->escape_null = 0; |
782
|
27254 |
22 |
csv->first_safe_char = csv->quote_space ? 0x21 : 0x20; |
784
|
83 |
27193 |
if (csv->is_bound) { |
785
|
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)) |
793
|
853 |
452 |
? csv->verbatim || csv->eol_len >= 2 |
795
|
366 |
487 |
: csv->eol[0] == CH_CR || csv->eol[0] == CH_NL |
797
|
52 |
314 |
: 1 |
798
|
1312 |
25964 |
: 0; |
|
1305 |
7 |
: 0; |
799
|
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)) |
801
|
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)) |
810
|
939877 |
1389 |
if (csv->useIO) { |
813
|
0 |
939877 |
PUSHMARK (sp); |
814
|
0 |
939877 |
EXTEND (sp, 2); |
816
|
939649 |
228 |
if (csv->utf8) { |
821
|
939649 |
0 |
ptr = SvPV (tmp, len); |
822
|
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) { |
827
|
750862 |
939649 |
for (j = 0; j < keep; j++) |
835
|
939877 |
0 |
if (result) { |
836
|
939876 |
1 |
result = POPi; |
837
|
1 |
939876 |
unless (result) |
846
|
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 |
847
|
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))) |
867
|
3 |
98 |
if (i >= csv->is_bound) { |
872
|
98 |
0 |
if (sv && SvROK (sv)) { |
|
98 |
0 |
if (sv && SvROK (sv)) { |
876
|
98 |
0 |
if (sv && SvROK (sv)) { |
|
98 |
0 |
if (sv && SvROK (sv)) { |
878
|
14 |
84 |
if (keep) |
881
|
83 |
1 |
unless (SvREADONLY (sv)) { |
894
|
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); |
902
|
3 |
34 |
if (fa == 1) die ("Formulas are forbidden\n"); |
903
|
3 |
31 |
if (fa == 2) croak ("Formulas are forbidden\n"); |
905
|
6 |
25 |
if (fa == 3) { |
906
|
6 |
0 |
char *ptr = SvPV_nolen (sv); |
911
|
3 |
3 |
if (csv->recno) (void)sprintf (rec, " in record %lu", csv->recno + 1); |
915
|
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)) { |
917
|
1 |
0 |
if (avp && av_len (avp) >= (f - 1)) { |
|
1 |
0 |
if (avp && av_len (avp) >= (f - 1)) { |
919
|
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)) |
920
|
1 |
0 |
(void)sprintf (field, " (column: '%.100s')", SvPV_nolen (*fnm)); |
928
|
4 |
21 |
if (len) *len = 0; |
930
|
5 |
20 |
if (fa == 4) { |
931
|
3 |
2 |
unless (SvREADONLY (sv)) SvSetEmpty (sv); |
935
|
5 |
15 |
if (fa == 5) { |
936
|
3 |
2 |
unless (SvREADONLY (sv)) SvSetUndef (sv); |
940
|
15 |
0 |
if (fa == 6) { |
943
|
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)) { |
947
|
15 |
0 |
DEFSV = sv; |
948
|
0 |
15 |
PUSHMARK (SP); |
952
|
15 |
0 |
if (result) |
957
|
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); |
1047
|
6 |
21641 |
if (n < 0 && csv->is_bound) { |
|
5 |
1 |
if (n < 0 && csv->is_bound) { |
1052
|
2 |
21645 |
if (kmi >= 10) { |
1054
|
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)) { |
1056
|
2 |
0 |
if (avp && av_len (avp) >= n) |
|
2 |
0 |
if (avp && av_len (avp) >= n) |
1061
|
53845 |
21636 |
for (i = 0; i <= n; i++) { |
1066
|
32199 |
21646 |
if (i > 0) { |
1067
|
0 |
32199 |
CSV_PUT (csv, dst, CH_SEP); |
|
0 |
0 |
CSV_PUT (csv, dst, CH_SEP); |
1068
|
10 |
32189 |
if (csv->sep_len) { |
1070
|
20 |
10 |
for (x = 1; x < (int)csv->sep_len; x++) |
1071
|
0 |
20 |
CSV_PUT (csv, dst, csv->sep[x]); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->sep[x]); |
1075
|
14 |
53831 |
if (bound) |
1079
|
53831 |
0 |
sv = svp && *svp ? *svp : NULL; |
|
53831 |
0 |
sv = svp && *svp ? *svp : NULL; |
1082
|
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) || ( |
1083
|
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))))) { |
1087
|
32244 |
21548 |
ptr = SvPV (sv, len); |
1089
|
16 |
53776 |
if (*ptr == '=' && csv->formula) { |
|
10 |
6 |
if (*ptr == '=' && csv->formula) { |
1090
|
2 |
4 |
unless (ptr = _formula (csv, sv, &len, i)) |
1093
|
1404 |
52382 |
if (len == 0) |
1094
|
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; |
1097
|
20041 |
32341 |
if (SvUTF8 (sv)) { |
1102
|
46759 |
5623 |
quoteMe = aq ? 1 : qm ? was_quoted (qm, i) : 0; |
|
12 |
46747 |
quoteMe = aq ? 1 : qm ? was_quoted (qm, i) : 0; |
1108
|
46754 |
5628 |
if (!quoteMe && |
|
25179 |
21575 |
if (!quoteMe && |
1109
|
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))) { |
1117
|
83767 |
2049 |
for (ptr2 = ptr, l = len; l; ++ptr2, --l) { |
1128
|
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) || |
1129
|
81305 |
151 |
(CH_SEP && c == CH_SEP) || |
|
83304 |
4 |
(CH_SEP && c == CH_SEP) || |
1130
|
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) || |
1131
|
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) || |
1133
|
10 |
0 |
: c == CH_NL || c == CH_CR || |
|
10 |
0 |
: c == CH_NL || c == CH_CR || |
|
5 |
5 |
: c == CH_NL || c == CH_CR || |
1134
|
3 |
2 |
(csv->quote_space && ( |
1135
|
0 |
3 |
c == CH_SPACE || c == CH_TAB)))) { |
1146
|
29412 |
24374 |
if (quoteMe) { |
1147
|
0 |
29412 |
CSV_PUT (csv, dst, CH_QUOTE); |
|
0 |
0 |
CSV_PUT (csv, dst, CH_QUOTE); |
1148
|
17 |
29395 |
if (csv->quo_len) { |
1150
|
34 |
17 |
for (x = 1; x < (int)csv->quo_len; x++) |
1151
|
0 |
34 |
CSV_PUT (csv, dst, csv->quo[x]); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->quo[x]); |
1154
|
950361452 |
53779 |
while (len-- > 0) { |
1158
|
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)) { |
1161
|
0 |
7 |
unless (hv_store (csv->self, "_ERROR_INPUT", 12, sv, 0)) |
1166
|
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 || |
1170
|
2165 |
950356063 |
if (c == csv->escape_char && csv->escape_char) |
|
2163 |
2 |
if (c == csv->escape_char && csv->escape_char) |
1173
|
56 |
950356009 |
if (c == (char)0 && csv->escape_null) { |
|
29 |
27 |
if (c == (char)0 && csv->escape_null) { |
1177
|
5409 |
950356036 |
if (e && csv->escape_char) |
|
5409 |
0 |
if (e && csv->escape_char) |
1178
|
0 |
5409 |
CSV_PUT (csv, dst, csv->escape_char); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->escape_char); |
1179
|
919632 |
949441813 |
CSV_PUT (csv, dst, c); |
|
0 |
919632 |
CSV_PUT (csv, dst, c); |
1181
|
29405 |
24374 |
if (quoteMe) { |
1182
|
0 |
29405 |
CSV_PUT (csv, dst, CH_QUOTE); |
|
0 |
0 |
CSV_PUT (csv, dst, CH_QUOTE); |
1183
|
17 |
29388 |
if (csv->quo_len) { |
1185
|
34 |
17 |
for (x = 1; x < (int)csv->quo_len; x++) |
1186
|
0 |
34 |
CSV_PUT (csv, dst, csv->quo[x]); |
|
0 |
0 |
CSV_PUT (csv, dst, csv->quo[x]); |
1191
|
8 |
45 |
if (csv->undef_str) { |
1195
|
3 |
5 |
if (csv->undef_flg) { |
1200
|
20 |
8 |
while (len--) |
1201
|
0 |
20 |
CSV_PUT (csv, dst, *ptr++); |
|
0 |
0 |
CSV_PUT (csv, dst, *ptr++); |
1205
|
249 |
21387 |
if (csv->eol_len) { |
1209
|
447 |
249 |
while (len--) |
1210
|
0 |
447 |
CSV_PUT (csv, dst, *ptr++); |
|
0 |
0 |
CSV_PUT (csv, dst, *ptr++); |
1212
|
21634 |
2 |
if (csv->used) |
1221
|
299 |
0 |
if (csv->tmp) { |
1223
|
299 |
0 |
if (hv_store (csv->self, "_ERROR_INPUT", 12, csv->tmp, 0)) |
1231
|
1518 |
3350 |
unless (csv->useIO) |
1234
|
904 |
2446 |
if (csv->tmp && csv->eol_pos >= 0) { |
|
348 |
556 |
if (csv->tmp && csv->eol_pos >= 0) { |
1237
|
348 |
0 |
csv->bptr = SvPV (csv->tmp, csv->size); |
1245
|
0 |
3002 |
PUSHMARK (sp); |
1246
|
0 |
3002 |
EXTEND (sp, 1); |
1252
|
3002 |
0 |
csv->tmp = result ? POPs : NULL; |
1260
|
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)) { |
1262
|
2453 |
0 |
csv->bptr = SvPV (csv->tmp, tmp_len); |
1265
|
358 |
2095 |
if (csv->eolx && csv->size >= csv->eol_len) { |
|
358 |
0 |
if (csv->eolx && csv->size >= csv->eol_len) { |
1267
|
1463 |
354 |
for (i = 1; i <= (int)csv->eol_len; i++) { |
1268
|
4 |
1459 |
unless (csv->bptr[csv->size - i] == csv->eol[csv->eol_len - i]) { |
1273
|
354 |
4 |
if (match) { |
1278
|
351 |
3 |
unless (csv->verbatim) |
1282
|
351 |
3 |
unless (csv->verbatim || csv->size) |
|
6 |
345 |
unless (csv->verbatim || csv->size) |
1286
|
70 |
2377 |
if (SvUTF8 (csv->tmp)) csv->utf8 = 1; |
1287
|
2447 |
0 |
if (tmp_len) |
1403
|
1723 |
0 |
char *s = SvPV (sv, len); |
1404
|
1723 |
0 |
unless (s && len) return; |
|
0 |
1723 |
unless (s && len) return; |
1405
|
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) |
1454
|
183266 |
3462 |
while ((c = CSV_GET) != EOF) { |
|
185991 |
737 |
while ((c = CSV_GET) != EOF) { |
1456
|
22825 |
163166 |
NewField; |
|
86 |
22739 |
NewField; |
|
4 |
22821 |
NewField; |
1468
|
11876 |
184845 |
if (is_SEP (c)) { |
|
88 |
11788 |
if (is_SEP (c)) { |
|
88 |
0 |
if (is_SEP (c)) { |
|
30 |
58 |
if (is_SEP (c)) { |
|
30 |
0 |
if (is_SEP (c)) { |
1474
|
1170 |
10648 |
if (waitingForField) { |
1478
|
1144 |
26 |
if (csv->blank_is_undef || csv->empty_is_undef) |
|
24 |
1120 |
if (csv->blank_is_undef || csv->empty_is_undef) |
1482
|
1170 |
0 |
unless (csv->is_bound) |
1485
|
8 |
1162 |
if (csv->keep_meta_info && fflags) |
|
8 |
0 |
if (csv->keep_meta_info && fflags) |
1489
|
2194 |
8454 |
if (f & CSV_FLAGS_QUO) { |
1493
|
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) |
1499
|
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; |
1503
|
183872 |
1031 |
if (is_QUOTE (c)) { |
|
22836 |
161036 |
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)) { |
1509
|
10904 |
11916 |
if (waitingForField) { |
1518
|
11850 |
66 |
if (f & CSV_FLAGS_QUO) { |
1525
|
10529 |
1321 |
int c2 = CSV_GET; |
1527
|
4240 |
7610 |
if (csv->allow_whitespace) { |
1531
|
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)) { |
1532
|
1 |
89 |
if (csv->allow_loose_quotes && |
|
0 |
1 |
if (csv->allow_loose_quotes && |
1533
|
0 |
0 |
!(csv->escape_char && c2 == csv->escape_char)) { |
1539
|
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); |
1542
|
87 |
3 |
c2 = CSV_GET; |
1546
|
9014 |
2836 |
if (is_SEP (c2)) { |
|
15 |
8999 |
if (is_SEP (c2)) { |
|
15 |
0 |
if (is_SEP (c2)) { |
|
15 |
0 |
if (is_SEP (c2)) { |
|
15 |
0 |
if (is_SEP (c2)) { |
1550
|
8314 |
700 |
AV_PUSH; |
|
0 |
8314 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
700 |
8314 |
AV_PUSH; |
|
688 |
12 |
AV_PUSH; |
|
0 |
688 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
3400 |
5602 |
AV_PUSH; |
|
0 |
3400 |
AV_PUSH; |
|
2150 |
6852 |
AV_PUSH; |
|
2150 |
0 |
AV_PUSH; |
|
2131 |
19 |
AV_PUSH; |
|
2131 |
0 |
AV_PUSH; |
|
895 |
1236 |
AV_PUSH; |
|
0 |
9014 |
AV_PUSH; |
|
9010 |
4 |
AV_PUSH; |
|
45 |
8969 |
AV_PUSH; |
|
45 |
0 |
AV_PUSH; |
1554
|
2661 |
175 |
if (c2 == CH_NL || c2 == CH_EOLX) { |
|
20 |
2641 |
if (c2 == CH_NL || c2 == CH_EOLX) { |
1558
|
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; |
1569
|
2624 |
17 |
if (csv->escape_char && c == csv->escape_char) { |
|
1544 |
1080 |
if (csv->escape_char && c == csv->escape_char) { |
1572
|
25 |
1519 |
if (c2 == '0') { |
1576
|
25 |
0 |
CSV_PUT_SV (0) |
|
0 |
25 |
CSV_PUT_SV (0) |
1580
|
1519 |
0 |
if (is_QUOTE (c2)) { |
|
1056 |
463 |
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)) { |
1584
|
1 |
1055 |
if (csv->utf8) |
1586
|
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) |
1590
|
3 |
460 |
if (csv->allow_loose_escapes && c2 != CH_CR) { |
|
2 |
1 |
if (csv->allow_loose_escapes && c2 != CH_CR) { |
1594
|
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); |
1600
|
197 |
1361 |
if (c2 == CH_CR) { |
1603
|
102 |
95 |
if (csv->eol_is_cr) { |
1607
|
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; |
1611
|
90 |
5 |
c3 = CSV_GET; |
1613
|
81 |
14 |
if (c3 == CH_NL) { /* \r is not optional before EOLX! */ |
1617
|
79 |
2 |
AV_PUSH; |
|
0 |
79 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
2 |
79 |
AV_PUSH; |
|
2 |
0 |
AV_PUSH; |
|
0 |
2 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
|
5 |
76 |
AV_PUSH; |
|
0 |
5 |
AV_PUSH; |
|
70 |
11 |
AV_PUSH; |
|
70 |
0 |
AV_PUSH; |
|
40 |
30 |
AV_PUSH; |
|
40 |
0 |
AV_PUSH; |
|
40 |
0 |
AV_PUSH; |
|
0 |
81 |
AV_PUSH; |
|
81 |
0 |
AV_PUSH; |
|
0 |
81 |
AV_PUSH; |
|
0 |
0 |
AV_PUSH; |
1621
|
1 |
13 |
if (csv->useIO && csv->eol_len == 0) { |
|
1 |
0 |
if (csv->useIO && csv->eol_len == 0) { |
1622
|
0 |
1 |
if (c3 == CH_CR) { /* \r followed by an empty line */ |
1630
|
1 |
0 |
if (!is_csv_binary (c3)) { |
|
0 |
1 |
if (!is_csv_binary (c3)) { |
|
0 |
0 |
if (!is_csv_binary (c3)) { |
1638
|
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; |
1643
|
12 |
1 |
ParseError (csv, quoesc ? 2023 : 2010, csv->used - 2); |
1647
|
1304 |
57 |
if (c2 == EOF) { |
1651
|
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; |
1655
|
12 |
45 |
if (csv->allow_loose_quotes && !quoesc) { |
|
10 |
2 |
if (csv->allow_loose_quotes && !quoesc) { |
1659
|
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); |
1667
|
39 |
8 |
if (quoesc) { |
1669
|
39 |
0 |
ERROR_INSIDE_QUOTES (2023); |
1672
|
8 |
0 |
ERROR_INSIDE_QUOTES (2011); |
1676
|
16 |
50 |
if (csv->allow_loose_quotes) { /* 1,foo "boo" d'uh,1 */ |
1678
|
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); |
1681
|
49 |
1 |
ERROR_INSIDE_FIELD (2034); |
1684
|
4653 |
157430 |
if (c == csv->escape_char && csv->escape_char) { |
|
4651 |
2 |
if (c == csv->escape_char && csv->escape_char) { |
1691
|
33 |
4618 |
if (waitingForField) { |
1693
|
3 |
30 |
if (csv->allow_unquoted_escape) { |
1697
|
2 |
1 |
int c2 = CSV_GET; |
1701
|
1 |
2 |
if (c2 == EOF) { |
1703
|
1 |
0 |
ERROR_INSIDE_FIELD (2035); |
1706
|
1 |
1 |
if (c2 == '0') |
1707
|
1 |
0 |
CSV_PUT_SV (0) |
|
0 |
1 |
CSV_PUT_SV (0) |
1709
|
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) || |
1710
|
0 |
0 |
c2 == csv->escape_char || csv->allow_loose_escapes) { |
1711
|
0 |
1 |
if (csv->utf8) |
1713
|
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) |
1717
|
0 |
0 |
ERROR_INSIDE_QUOTES (2025); |
1722
|
4610 |
8 |
if (f & CSV_FLAGS_QUO) { |
1723
|
4607 |
3 |
int c2 = CSV_GET; |
1725
|
3 |
4607 |
if (c2 == EOF) { |
1727
|
3 |
0 |
ERROR_INSIDE_QUOTES (2024); |
1730
|
2 |
4605 |
if (c2 == '0') |
1731
|
2 |
0 |
CSV_PUT_SV (0) |
|
0 |
2 |
CSV_PUT_SV (0) |
1733
|
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) || |
1734
|
2 |
26 |
c2 == csv->escape_char || csv->allow_loose_escapes) { |
1735
|
1 |
4578 |
if (csv->utf8) |
1737
|
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) |
1741
|
26 |
0 |
ERROR_INSIDE_QUOTES (2025); |
1745
|
8 |
0 |
if (sv) { |
1746
|
4 |
4 |
int c2 = CSV_GET; |
1748
|
4 |
4 |
if (c2 == EOF) { |
1750
|
4 |
0 |
ERROR_INSIDE_FIELD (2035); |
1753
|
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); |
1756
|
0 |
0 |
ERROR_INSIDE_FIELD (2036); /* uncoverable statement I think there's no way to get here */ |
1759
|
155591 |
1841 |
if (c == CH_NL || is_EOL (c)) { |
|
334 |
155257 |
if (c == CH_NL || is_EOL (c)) { |
1766
|
293 |
2345 |
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) { |
1767
|
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; |
1771
|
226 |
2353 |
if (waitingForField) { |
1775
|
218 |
8 |
if (csv->blank_is_undef || csv->empty_is_undef) |
|
8 |
210 |
if (csv->blank_is_undef || csv->empty_is_undef) |
1779
|
226 |
0 |
unless (csv->is_bound) |
1781
|
14 |
212 |
if (csv->keep_meta_info && fflags) |
|
14 |
0 |
if (csv->keep_meta_info && fflags) |
1786
|
744 |
1609 |
if (f & CSV_FLAGS_QUO) { |
1791
|
19 |
725 |
unless (csv->binary) |
1792
|
19 |
0 |
ERROR_INSIDE_QUOTES (2021); |
1794
|
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); |
1797
|
9 |
1600 |
if (csv->verbatim) { |
1802
|
1 |
8 |
unless (csv->binary) |
1803
|
1 |
0 |
ERROR_INSIDE_FIELD (2030); |
1805
|
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); |
1811
|
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 && |
1812
|
0 |
23 |
(csv->bptr[0] == 's' || csv->bptr[0] == 'S') && |
|
0 |
5 |
(csv->bptr[0] == 's' || csv->bptr[0] == 'S') && |
1813
|
0 |
0 |
(csv->bptr[1] == 'e' || csv->bptr[1] == 'E') && |
|
0 |
5 |
(csv->bptr[1] == 'e' || csv->bptr[1] == 'E') && |
1814
|
0 |
0 |
(csv->bptr[2] == 'p' || csv->bptr[2] == 'P') && |
|
5 |
0 |
(csv->bptr[2] == 'p' || csv->bptr[2] == 'P') && |
1818
|
4 |
1 |
if (lnu <= MAX_ATTR_LEN) { |
1821
|
1 |
3 |
csv->sep_len = lnu == 1 ? 0 : lnu; |
1829
|
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; |
1834
|
1109 |
154148 |
if (c == CH_CR && !(csv->verbatim)) { |
|
1106 |
3 |
if (c == CH_CR && !(csv->verbatim)) { |
1839
|
117 |
989 |
if (waitingForField) { |
1842
|
29 |
88 |
if (csv->eol_is_cr) { |
1850
|
83 |
5 |
c2 = CSV_GET; |
1852
|
5 |
83 |
if (c2 == EOF) { |
1862
|
0 |
5 |
unless (seenSomething) |
1867
|
73 |
10 |
if (c2 == CH_NL) { /* \r is not optional before EOLX! */ |
1875
|
5 |
5 |
if (csv->useIO && csv->eol_len == 0) { |
|
5 |
0 |
if (csv->useIO && csv->eol_len == 0) { |
1876
|
0 |
5 |
if (c2 == CH_CR) { /* \r followed by an empty line */ |
1886
|
2 |
3 |
if (!is_csv_binary (c2)) { |
|
0 |
2 |
if (!is_csv_binary (c2)) { |
|
0 |
3 |
if (!is_csv_binary (c2)) { |
1894
|
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) { |
1895
|
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; |
1898
|
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; |
1907
|
8 |
0 |
ERROR_INSIDE_FIELD (2031); |
1910
|
620 |
369 |
if (f & CSV_FLAGS_QUO) { |
1915
|
70 |
550 |
unless (csv->binary) |
1916
|
70 |
0 |
ERROR_INSIDE_QUOTES (2022); |
1918
|
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); |
1923
|
181 |
188 |
if (csv->eol_is_cr) { |
1930
|
183 |
5 |
c2 = CSV_GET; |
1932
|
172 |
16 |
if (c2 == CH_NL) { /* \r is not optional before EOLX! */ |
1939
|
11 |
5 |
if (csv->useIO && csv->eol_len == 0) { |
|
11 |
0 |
if (csv->useIO && csv->eol_len == 0) { |
1940
|
4 |
7 |
if (!is_csv_binary (c2) |
|
0 |
4 |
if (!is_csv_binary (c2) |
|
7 |
0 |
if (!is_csv_binary (c2) |
1945
|
1 |
6 |
|| c2 == CH_CR) { |
1952
|
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) { |
1953
|
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; |
1956
|
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; |
1964
|
11 |
0 |
ERROR_INSIDE_FIELD (2032); |
1974
|
3646 |
150505 |
if (csv->eolx && c == CH_EOL && |
|
8 |
3638 |
if (csv->eolx && c == CH_EOL && |
|
8 |
0 |
if (csv->eolx && c == CH_EOL && |
1975
|
8 |
0 |
csv->size - csv->used >= (STRLEN)csv->eol_len - 1 && |
1976
|
8 |
0 |
!memcmp (csv->bptr + csv->used, csv->eol + 1, csv->eol_len - 1) && |
1985
|
10680 |
143463 |
if (waitingForField) { |
1986
|
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) { |
1994
|
18 |
6 |
if (cl == 1 || ( |
|
18 |
0 |
if (cl == 1 || ( |
1995
|
18 |
0 |
(csv->size - csv->used >= cl - 1 && |
1996
|
18 |
0 |
!memcmp (csv->bptr + csv->used, csv->comment_str + 1, cl - 1) && |
2000
|
0 |
24 |
c = CSV_GET; |
2008
|
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)) { |
2010
|
310 |
1 |
c = CSV_GET; |
2014
|
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)); |
2015
|
1 |
200 |
if (c == EOF) |
2029
|
111032 |
32431 |
if (f & CSV_FLAGS_QUO) { |
2030
|
110584 |
448 |
if (is_csv_binary (c)) { |
|
3021 |
107563 |
if (is_csv_binary (c)) { |
|
3454 |
15 |
if (is_csv_binary (c)) { |
2032
|
31 |
3423 |
unless (csv->binary || csv->utf8) |
|
5 |
26 |
unless (csv->binary || csv->utf8) |
2033
|
5 |
0 |
ERROR_INSIDE_QUOTES (2026); |
2035
|
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); |
2038
|
32393 |
38 |
if (is_csv_binary (c)) { |
|
427 |
31966 |
if (is_csv_binary (c)) { |
|
453 |
12 |
if (is_csv_binary (c)) { |
2039
|
413 |
40 |
if (csv->useIO && c == EOF) |
|
3 |
410 |
if (csv->useIO && c == EOF) |
2042
|
9 |
441 |
unless (csv->binary || csv->utf8) |
|
9 |
0 |
unless (csv->binary || csv->utf8) |
2043
|
9 |
0 |
ERROR_INSIDE_FIELD (2037); |
2045
|
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); |
2050
|
119 |
161059 |
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) |
2054
|
366 |
380 |
if (waitingForField) { |
2055
|
335 |
31 |
if (seenSomething || !csv->useIO) { |
|
3 |
332 |
if (seenSomething || !csv->useIO) { |
2056
|
33 |
1 |
NewField; |
|
1 |
32 |
NewField; |
|
0 |
33 |
NewField; |
2057
|
30 |
4 |
if (csv->blank_is_undef || csv->empty_is_undef) |
|
4 |
26 |
if (csv->blank_is_undef || csv->empty_is_undef) |
2061
|
33 |
1 |
unless (csv->is_bound) |
2063
|
3 |
31 |
if (csv->keep_meta_info && fflags) |
|
3 |
0 |
if (csv->keep_meta_info && fflags) |
2072
|
24 |
356 |
if (f & CSV_FLAGS_QUO) |
2073
|
24 |
0 |
ERROR_INSIDE_QUOTES (2027); |
2075
|
354 |
2 |
if (sv) { |
2076
|
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; |
2078
|
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) |
2091
|
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)) |
2096
|
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)) |
2102
|
0 |
125 |
PUSHMARK (SP); |
2103
|
0 |
125 |
mXPUSHs (newRV_inc ((SV *)hv)); |
2104
|
0 |
125 |
mXPUSHs (newRV_inc ((SV *)av)); |
2108
|
125 |
0 |
if (res) { |
2110
|
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)) { |
2111
|
64 |
0 |
if (strcmp (SvPV_nolen (rv), "skip") == 0) |
|
64 |
0 |
if (strcmp (SvPV_nolen (rv), "skip") == 0) |
2116
|
125 |
0 |
FREETMPS; |
2128
|
4145 |
405 |
if (csv.eolx || csv.eol_is_cr) { |
|
444 |
3701 |
if (csv.eolx || csv.eol_is_cr) { |
2134
|
2622 |
1928 |
if ((csv.useIO = useIO)) { |
2137
|
176 |
2446 |
if ((ahead = csv.has_ahead)) { |
2139
|
176 |
0 |
if ((svp = hv_fetchs (hv, "_AHEAD", FALSE)) && *svp) { |
|
176 |
0 |
if ((svp = hv_fetchs (hv, "_AHEAD", FALSE)) && *svp) { |
2140
|
175 |
1 |
csv.bptr = SvPV (csv.tmp = *svp, csv.size); |
2142
|
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) |
2143
|
0 |
0 |
sv_setiv (pos, SvIV (pos) - csv.size); |
2150
|
1928 |
0 |
csv.bptr = SvPV (src, csv.size); |
2152
|
217 |
4333 |
if (csv.has_error_input) { |
2161
|
27 |
4512 |
if (csv.strict) { |
2162
|
8 |
19 |
unless (csv.strict_n) csv.strict_n = (short)csv.fld_idx; |
2163
|
12 |
15 |
if (csv.fld_idx != csv.strict_n) { |
2164
|
8 |
4 |
unless (csv.useIO & useIO_EOF) |
2166
|
8 |
4 |
if (last_error) /* an error callback can reset and accept */ |
2171
|
2614 |
1925 |
if (csv.useIO) { |
2172
|
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) { |
2178
|
549 |
2028 |
if (csv.useIO & useIO_EOF) |
2184
|
1580 |
1034 |
if (avf) { |
2185
|
11 |
1569 |
if (csv.keep_meta_info) |
2196
|
1925 |
0 |
if (svp && *svp) |
|
1925 |
0 |
if (svp && *svp) |
2197
|
1925 |
0 |
csv.cache = (byte *)SvPV_nolen (*svp); |
2201
|
3903 |
636 |
if (result && csv.types) { |
|
2 |
3901 |
if (result && csv.types) { |
2206
|
6 |
2 |
for (i = 0; i <= len && i <= csv.types_len; i++) { |
|
6 |
0 |
for (i = 0; i <= len && i <= csv.types_len; i++) { |
2207
|
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)) { |
2211
|
0 |
2 |
sv_setiv (*svp, SvIV (*svp)); |
2222
|
0 |
2 |
sv_setnv (*svp, SvNV (*svp)); |
2249
|
3165 |
340 |
if (state && csv.has_hooks & HOOK_AFTER_PARSE) |
|
5 |
3160 |
if (state && csv.has_hooks & HOOK_AFTER_PARSE) |
2251
|
340 |
3165 |
return (state || !last_error); |
|
2 |
338 |
return (state || !last_error); |
2257
|
250 |
83 |
while (av_len (av) >= 0) |
2270
|
278 |
56 |
if (SvOK (off)) { |
|
278 |
0 |
if (SvOK (off)) { |
|
0 |
278 |
if (SvOK (off)) { |
2271
|
48 |
8 |
skip = SvIV (off); |
2272
|
12 |
44 |
if (skip < 0) { |
2277
|
290 |
44 |
if (SvOK (len)) |
|
290 |
0 |
if (SvOK (len)) |
|
0 |
290 |
if (SvOK (len)) |
2278
|
36 |
8 |
length = SvIV (len); |
2280
|
738 |
296 |
while (c_xsParse (csv, hv, row, NULL, io, 1)) { |
2284
|
20 |
718 |
if (skip > 0) { |
2290
|
12 |
706 |
if (n++ >= tail) { |
2295
|
117 |
601 |
if (csv.has_hooks & HOOK_AFTER_PARSE) { |
2296
|
63 |
54 |
unless (hook (aTHX_ hv, "after_parse", row)) { |
2303
|
52 |
603 |
if (n >= length && skip >= 0) |
|
32 |
20 |
if (n >= length && skip >= 0) |
2308
|
8 |
328 |
while (n > length) { |
2327
|
260 |
21387 |
if (*csv.eol) |
2330
|
20251 |
1396 |
if (useIO && csv.has_hooks & HOOK_BEFORE_PRINT) |
|
3 |
20248 |
if (useIO && csv.has_hooks & HOOK_BEFORE_PRINT) |
2336
|
21635 |
8 |
if (result && !useIO && csv.utf8) |
|
1391 |
20244 |
if (result && !useIO && csv.utf8) |
|
25 |
1366 |
if (result && !useIO && csv.utf8) |
2357
|
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)) { |
2358
|
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; |
2367
|
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))) { |
2379
|
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) { |
2382
|
1 |
3 |
if (SvOK (*sv)) |
|
1 |
0 |
if (SvOK (*sv)) |
|
0 |
1 |
if (SvOK (*sv)) |
2400
|
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; |
2402
|
1391 |
1 |
ST (0) = xsCombine (self, hv, av, dst, useIO) ? &PL_sv_yes : &PL_sv_undef; |
2414
|
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; |
2418
|
1724 |
201 |
ST (0) = xsParse (self, hv, av, avf, src, 0) ? &PL_sv_yes : &PL_sv_no; |
2429
|
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; |
2430
|
5 |
20251 |
if (fields == &PL_sv_undef) |
2433
|
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)) |
2439
|
20244 |
7 |
ST (0) = xsCombine (self, hv, av, io, 1) ? &PL_sv_yes : &PL_sv_no; |
2451
|
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; |
2456
|
1443 |
137 |
: &PL_sv_undef; |
2467
|
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; |
2469
|
56 |
278 |
offset = items > 2 ? ST (2) : &PL_sv_undef; |
2470
|
44 |
290 |
length = items > 3 ? ST (3) : &PL_sv_undef; |
2482
|
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; |
2493
|
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; |