Lines Matching refs:cut

140 	Cut_t*		cut;  in cutinit()  local
142 if (!(cut = (Cut_t*)stakalloc(sizeof(Cut_t) + strlen(cp) * sizeof(int)))) in cutinit()
144 if (cut->mb = mbwide()) in cutinit()
146 memset(cut->space, 0, sizeof(cut->space) / 2); in cutinit()
147 memset(cut->space + sizeof(cut->space) / 2, SP_WIDE, sizeof(cut->space) / 2); in cutinit()
150 memset(cut->space, 0, sizeof(cut->space)); in cutinit()
151 cut->wdelim = *wdelim; in cutinit()
153 cut->space[wdelim->chr] = SP_WORD; in cutinit()
154 cut->ldelim = *ldelim; in cutinit()
155 cut->eob = (ldelim->len == 1) ? ldelim->chr : 0; in cutinit()
156 cut->space[cut->eob] = SP_LINE; in cutinit()
157 cut->cflag = (mode&C_CHARS) && cut->mb; in cutinit()
158 cut->nosplit = (mode&(C_BYTES|C_NOSPLIT)) == (C_BYTES|C_NOSPLIT) && cut->mb; in cutinit()
159 cut->sflag = (mode&C_SUPRESS) != 0; in cutinit()
160 cut->nlflag = (mode&C_NONEWLINE) != 0; in cutinit()
161 cut->reclen = reclen; in cutinit()
162 lp = cut->list; in cutinit()
190 n = 1 + (lp-cut->list)/2; in cutinit()
191 qsort(lp=cut->list,n,2*sizeof(*lp),mycomp); in cutinit()
220 lp = cut->list; in cutinit()
228 return cut; in cutinit()
254 cutcols(Cut_t* cut, Sfio_t* fdin, Sfio_t* fdout) in cutcols() argument
259 register const int* lp = cut->list; in cutcols()
268 if (len = cut->reclen) in cutcols()
277 if (!(ncol = skip = *(lp = cut->list))) in cutcols()
282 if (cut->nosplit) in cutcols()
313 else if (cut->cflag) in cutcols()
352 if (!cut->nlflag && (skip || must || cut->reclen)) in cutcols()
354 if (cut->ldelim.len > 1) in cutcols()
355 sfwrite(fdout, cut->ldelim.str, cut->ldelim.len); in cutcols()
357 sfputc(fdout, cut->ldelim.chr); in cutcols()
368 cutfields(Cut_t* cut, Sfio_t* fdin, Sfio_t* fdout) in cutfields() argument
370 register unsigned char *sp = cut->space; in cutfields()
374 register const int *lp = cut->list; in cutfields()
389 if((lastchar = cp[c]) != cut->eob) in cutfields()
390 *ep = cut->eob; in cutfields()
399 if (nfields = *(lp = cut->list)) in cutfields()
410 if (cut->mb) in cutfields()
428 if (lastchar != cut->eob) in cutfields()
446 if ((lastchar = cp[c]) != cut->eob) in cutfields()
447 *ep = cut->eob; in cutfields()
461 if (w == cut->ldelim.chr) in cutfields()
462 lastchar = cut->ldelim.chr; in cutfields()
463 else if (w != cut->wdelim.chr) in cutfields()
481 if (c == cut->wdelim.chr) in cutfields()
486 if (c == cut->ldelim.chr) in cutfields()
508 if (lastchar == cut->ldelim.chr) in cutfields()
511 if (lastchar != cut->eob) in cutfields()
538 if (!cut->sflag) in cutfields()
554 if (copy && (c=cp-copy)>0 && (!nodelim || !cut->sflag) && sfwrite(fdout,(char*)copy,c)< 0) in cutfields()
558 if(inword && nodelim && !cut->sflag && (c=cp-first)>0) in cutfields()
579 Cut_t* cut; in b_cut() local
682 cut = cutinit(mode, cp, &wdelim, &ldelim, reclen); in b_cut()
695 cutfields(cut,fp,sfstdout); in b_cut()
697 cutcols(cut,fp,sfstdout); in b_cut()