Lines Matching refs:L
112 #define W_IS_BLANK(x) (iswspace(x) && (x) != L'\n')
121 #define W_INTERFIELD_SEPARATOR L'\0'
363 field_boundary(field_t *F, line_rec_t *L, int is_end, int is_blanks) in field_boundary() argument
365 char *S = L->l_data.sp; in field_boundary()
367 char *eol = S + L->l_data_length; in field_boundary()
375 return (L->l_data_length); in field_boundary()
390 if ((ret = MAX(T - S, 0) + offset) >= L->l_data_length) in field_boundary()
391 return (L->l_data_length); in field_boundary()
397 field_delimit(field_t *F, line_rec_t *L, ssize_t *start, ssize_t *end) in field_delimit() argument
401 *start = field_boundary(F, L, 0, in field_delimit()
403 *end = field_boundary(F, L, 1, in field_delimit()
408 field_boundary_wide(field_t *F, line_rec_t *L, int is_end, int is_blanks) in field_boundary_wide() argument
410 wchar_t *S = L->l_data.wp; in field_boundary_wide()
412 wchar_t *eol = S + L->l_data_length; in field_boundary_wide()
420 return (L->l_data_length); in field_boundary_wide()
435 if ((ret = MAX(T - S, 0) + offset) >= L->l_data_length) in field_boundary_wide()
436 return (L->l_data_length); in field_boundary_wide()
442 field_delimit_wide(field_t *F, line_rec_t *L, ssize_t *start, ssize_t *end) in field_delimit_wide() argument
446 *start = field_boundary_wide(F, L, 0, in field_delimit_wide()
448 *end = field_boundary_wide(F, L, 1, in field_delimit_wide()
453 field_boundary_tabbed(field_t *F, line_rec_t *L, int is_end, int is_blanks, in field_boundary_tabbed() argument
456 char *S = L->l_data.sp; in field_boundary_tabbed()
458 char *eol = S + L->l_data_length; in field_boundary_tabbed()
466 return (L->l_data_length); in field_boundary_tabbed()
471 return (L->l_data_length); in field_boundary_tabbed()
481 if ((ret = MAX(T - S, 0) + offset) >= L->l_data_length) { in field_boundary_tabbed()
482 if (L->l_data_length <= 0) in field_boundary_tabbed()
484 if (S[L->l_data_length - 1] == delimiter.sc) { in field_boundary_tabbed()
485 return (L->l_data_length - 1); in field_boundary_tabbed()
487 return (L->l_data_length); in field_boundary_tabbed()
504 field_delimit_tabbed(field_t *F, line_rec_t *L, ssize_t *start, ssize_t *end, in field_delimit_tabbed() argument
509 *start = field_boundary_tabbed(F, L, 0, F->f_options & in field_delimit_tabbed()
511 *end = field_boundary_tabbed(F, L, 1, F->f_options & in field_delimit_tabbed()
516 field_boundary_tabbed_wide(field_t *F, line_rec_t *L, int is_end, int is_blanks, in field_boundary_tabbed_wide() argument
519 wchar_t *S = L->l_data.wp; in field_boundary_tabbed_wide()
521 wchar_t *eol = S + L->l_data_length; in field_boundary_tabbed_wide()
529 return (L->l_data_length); in field_boundary_tabbed_wide()
534 return (L->l_data_length); in field_boundary_tabbed_wide()
544 if ((ret = MAX(T - S, 0) + offset) >= L->l_data_length) { in field_boundary_tabbed_wide()
545 if (L->l_data_length <= 0) in field_boundary_tabbed_wide()
547 if (S[L->l_data_length - 1] == delimiter.wc) { in field_boundary_tabbed_wide()
548 return (L->l_data_length - 1); in field_boundary_tabbed_wide()
550 return (L->l_data_length); in field_boundary_tabbed_wide()
561 field_delimit_tabbed_wide(field_t *F, line_rec_t *L, ssize_t *start, in field_delimit_tabbed_wide() argument
566 *start = field_boundary_tabbed_wide(F, L, 0, F->f_options & in field_delimit_tabbed_wide()
568 *end = field_boundary_tabbed_wide(F, L, 1, F->f_options & in field_delimit_tabbed_wide()
574 field_convert_month(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_month() argument
583 if (sizeof (char) > L->l_collate_bufsize - coll_offset) in field_convert_month()
592 while (IS_BLANK(*(L->l_data.sp + month_offset))) { in field_convert_month()
598 month_candidate[j] = toupper((L->l_data.sp + month_offset)[j]); in field_convert_month()
602 *(L->l_collate.sp + coll_offset) = '\0' + j + MO_OFFSET; in field_convert_month()
612 *(L->l_collate.sp + coll_offset) = '\0' + MO_NONE; in field_convert_month()
614 val = field_convert_alpha_simple(F, L, delimiter, data_offset, in field_convert_month()
625 field_convert_month_wide(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_month_wide() argument
632 wchar_t *buffer = L->l_collate.wp + coll_offset; in field_convert_month_wide()
636 if (L->l_collate_bufsize - coll_offset * sizeof (wchar_t) < in field_convert_month_wide()
643 while (W_IS_BLANK(*(L->l_data.wp + month_offset))) { in field_convert_month_wide()
648 month = L->l_data.wp + month_offset; in field_convert_month_wide()
656 *buffer = L'\0' + j + MO_OFFSET; in field_convert_month_wide()
660 *buffer = L'\0' + MO_NONE; in field_convert_month_wide()
662 val = field_convert_alpha_wide(F, L, delimiter, data_offset, in field_convert_month_wide()
677 field_convert_alpha(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_alpha() argument
693 char t = (L->l_data.sp)[i]; in field_convert_alpha()
711 L->l_collate_bufsize - coll_offset) in field_convert_alpha()
712 return (xfrm_ops->sx_xfrm(L->l_collate.sp + coll_offset, in field_convert_alpha()
720 field_convert_alpha_simple(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_alpha_simple() argument
734 (void) memcpy(compose, L->l_data.sp + data_offset, data_length); in field_convert_alpha_simple()
739 L->l_collate_bufsize - coll_offset) in field_convert_alpha_simple()
740 return (xfrm_ops->sx_xfrm(L->l_collate.sp + coll_offset, in field_convert_alpha_simple()
748 field_convert_alpha_wide(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_alpha_wide() argument
759 wchar_t t = (L->l_data.wp)[i]; in field_convert_alpha_wide()
773 compose[clength] = L'\0'; in field_convert_alpha_wide()
776 if ((dlength * sizeof (wchar_t)) < L->l_collate_bufsize - in field_convert_alpha_wide()
778 ret = (ssize_t)wcsxfrm(L->l_collate.wp + coll_offset, compose, in field_convert_alpha_wide()
796 field_convert_numeric(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_numeric() argument
800 char *buffer = L->l_collate.sp + coll_offset; in field_convert_numeric()
811 number = L->l_data.sp + data_offset; in field_convert_numeric()
829 (L->l_collate_bufsize - coll_offset)) in field_convert_numeric()
933 L->l_collate_bufsize - coll_offset) in field_convert_numeric()
941 field_convert_numeric_wide(field_t *F, line_rec_t *L, vchar_t delimiter, in field_convert_numeric_wide() argument
945 wchar_t *buffer = L->l_collate.wp + coll_offset; in field_convert_numeric_wide()
949 wchar_t sign = L'2'; in field_convert_numeric_wide()
957 number = L->l_data.wp + data_offset; in field_convert_numeric_wide()
965 sizeof (int)) > (L->l_collate_bufsize - coll_offset)) in field_convert_numeric_wide()
968 if (number[i] == L'-') { in field_convert_numeric_wide()
970 sign = L'0'; in field_convert_numeric_wide()
977 if (number[i] == L'0' && !(state & IN_NUMBER)) in field_convert_numeric_wide()
984 if (sign == L'0') in field_convert_numeric_wide()
985 digits[j++] = L'0' + L'9' - number[i]; in field_convert_numeric_wide()
1001 if (number[i] != L'0') in field_convert_numeric_wide()
1004 if (sign == L'0') in field_convert_numeric_wide()
1005 digits[j++] = L'0' + L'9' - number[i]; in field_convert_numeric_wide()
1010 if (sign == L'0') in field_convert_numeric_wide()
1015 if (sign == L'0') in field_convert_numeric_wide()
1023 sign = L'1'; in field_convert_numeric_wide()
1025 digits[0] = L'0'; in field_convert_numeric_wide()
1029 if (sign == L'0') { in field_convert_numeric_wide()
1046 L->l_collate_bufsize - coll_offset * sizeof (wchar_t)) in field_convert_numeric_wide()
1057 field_convert(field_t *F, line_rec_t *L, int flags, vchar_t field_separator) in field_convert() argument
1068 field_delimit(cur_fieldp, L, &start, &end); in field_convert()
1070 field_delimit_tabbed(cur_fieldp, L, &start, &end, in field_convert()
1080 distance = cur_fieldp->f_convert(cur_fieldp, L, in field_convert()
1088 ASSERT(L->l_collate_bufsize > 0); in field_convert()
1089 L->l_collate_bufsize *= 2; in field_convert()
1090 L->l_collate.sp = in field_convert()
1091 safe_realloc(L->l_collate.sp, in field_convert()
1092 L->l_collate_bufsize); in field_convert()
1106 xstrninv(L->l_collate.sp, coll_offset, distance); in field_convert()
1107 *(L->l_collate.sp + coll_offset + distance) = in field_convert()
1114 if (coll_offset >= L->l_collate_bufsize) { in field_convert()
1116 ASSERT(L->l_collate_bufsize > 0); in field_convert()
1117 L->l_collate_bufsize *= 2; in field_convert()
1118 L->l_collate.sp = safe_realloc(L->l_collate.sp, in field_convert()
1119 L->l_collate_bufsize); in field_convert()
1126 *(L->l_collate.sp + coll_offset) = INTERFIELD_SEPARATOR; in field_convert()
1132 L->l_collate_length = coll_offset; in field_convert()
1134 return (L->l_collate_length); in field_convert()
1138 field_convert_wide(field_t *F, line_rec_t *L, int flags, in field_convert_wide() argument
1147 field_delimit_wide(cur_fieldp, L, &start, &end); in field_convert_wide()
1149 field_delimit_tabbed_wide(cur_fieldp, L, &start, &end, in field_convert_wide()
1155 distance = cur_fieldp->f_convert(cur_fieldp, L, in field_convert_wide()
1160 ASSERT(L->l_collate_bufsize > 0); in field_convert_wide()
1161 L->l_collate_bufsize *= 2; in field_convert_wide()
1162 L->l_collate.wp = safe_realloc( in field_convert_wide()
1163 L->l_collate.wp, in field_convert_wide()
1164 L->l_collate_bufsize); in field_convert_wide()
1175 xwcsninv(L->l_collate.wp, coll_offset, distance); in field_convert_wide()
1176 *(L->l_collate.wp + coll_offset + distance) = in field_convert_wide()
1183 if (coll_offset * sizeof (wchar_t) >= L->l_collate_bufsize) { in field_convert_wide()
1185 ASSERT(L->l_collate_bufsize > 0); in field_convert_wide()
1186 L->l_collate_bufsize *= 2; in field_convert_wide()
1187 L->l_collate.wp = safe_realloc(L->l_collate.wp, in field_convert_wide()
1188 L->l_collate_bufsize); in field_convert_wide()
1195 *(L->l_collate.wp + coll_offset) = W_INTERFIELD_SEPARATOR; in field_convert_wide()
1201 L->l_collate_length = coll_offset * sizeof (wchar_t); in field_convert_wide()
1203 xwcsntomsb(L->l_collate.wp, coll_offset); in field_convert_wide()
1206 return (L->l_collate_length); in field_convert_wide()
1218 line_convert(line_rec_t *L) in line_convert() argument
1223 if (L->l_raw_collate.sp != NULL) in line_convert()
1226 if (L->l_data_length + 1 > bufsize) { in line_convert()
1227 buffer = safe_realloc(buffer, L->l_data_length + 1); in line_convert()
1228 bufsize = L->l_data_length + 1; in line_convert()
1231 (void) strncpy(buffer, L->l_data.sp, L->l_data_length); in line_convert()
1232 buffer[L->l_data_length] = '\0'; in line_convert()
1234 L->l_raw_collate.sp = safe_realloc(L->l_raw_collate.sp, in line_convert()
1235 xfrm_ops->sx_len(buffer, L->l_data_length) + 1); in line_convert()
1236 xfrm_ops->sx_xfrm(L->l_raw_collate.sp, buffer, in line_convert()
1237 xfrm_ops->sx_len(buffer, L->l_data_length) + 1); in line_convert()
1243 line_convert_wide(line_rec_t *L) in line_convert_wide() argument
1250 if (L->l_raw_collate.wp != NULL) in line_convert_wide()
1253 if (L->l_data_length + 1 > bufsize) { in line_convert_wide()
1254 buffer = safe_realloc(buffer, (L->l_data_length + 1) * in line_convert_wide()
1256 bufsize = L->l_data_length + 1; in line_convert_wide()
1259 (void) wcsncpy(buffer, L->l_data.wp, L->l_data_length); in line_convert_wide()
1260 buffer[L->l_data_length] = L'\0'; in line_convert_wide()
1263 L->l_raw_collate.wp = safe_realloc(L->l_raw_collate.wp, dlength * in line_convert_wide()
1265 (void) wcsxfrm(L->l_raw_collate.wp, buffer, dlength); in line_convert_wide()