Lines Matching refs:TT

212   if (TT.noeol && !writeall(TT.fdout, "\n", 1)) return 1;
213 TT.noeol = !eol;
216 l = writeall(TT.fdout, line, len);
219 if (TT.fdout != 1) perror_msg("short write");
247 if (!TT.lastregex) error_exit("no previous regex");
248 return TT.lastregex;
251 return TT.lastregex = offset+(char *)command;
262 char *line = TT.nextline;
263 long len = TT.nextlen;
273 TT.nextline = 0;
274 TT.nextlen = 0;
276 TT.nextline = *pline;
277 TT.nextlen = plen;
283 TT.count++;
287 command = TT.restart ? ((struct sedcmd *)TT.restart)-1 : (void *)TT.pattern;
288 TT.restart = 0;
308 } else if (lm > 0 && lm < TT.count) command->hit = 0;
309 else if (lm < -1 && TT.count == command->hit+(-lm-1)) command->hit = 0;
317 command->hit = TT.count;
318 } else if (lm == TT.count || (lm == -1 && !pline))
319 command->hit = TT.count;
328 if (miss || command->lmatch[1] == TT.count) command->hit = 0;
366 for (command = (void *)TT.pattern; command; command = command->next)
395 command = (void *)TT.pattern;
400 line = xstrdup(TT.remember);
401 len = TT.rememberlen;
403 line = xrealloc(line, len+TT.rememberlen+2);
405 memcpy(line+len, TT.remember, TT.rememberlen);
406 line[len += TT.rememberlen] = 0;
408 free(TT.remember);
409 TT.remember = xstrdup(line);
410 TT.rememberlen = len;
412 TT.remember = xrealloc(TT.remember, TT.rememberlen+len+2);
413 TT.remember[TT.rememberlen++] = '\n';
414 memcpy(TT.remember+TT.rememberlen, line, len);
415 TT.remember[TT.rememberlen += len] = 0;
422 if (!TT.xx) {
423 terminal_size(&TT.xx, 0);
424 if (!TT.xx) TT.xx = 80;
425 if (TT.xx > sizeof(toybuf)-10) TT.xx = sizeof(toybuf)-10;
426 if (TT.xx > 4) TT.xx -= 4;
430 if (off >= TT.xx) {
445 TT.restart = command->next+1;
452 TT.restart = command->next+1;
453 extend_string(&line, TT.nextline, len, -TT.nextlen);
454 free(TT.nextline);
455 TT.nextline = line;
456 TT.nextlen += len + 1;
468 free(TT.nextline);
471 TT.nextline = 0;
472 TT.nextlen = 0;
586 fd = TT.fdout;
587 noeol = TT.noeol;
591 memcpy(&TT.fdout, name, 4);
593 TT.noeol = *(name++);
598 *(--name) = TT.noeol;
599 TT.noeol = noeol;
600 TT.fdout = fd;
602 long swap = TT.rememberlen;
604 str = TT.remember;
605 TT.remember = line;
607 TT.rememberlen = len;
621 sprintf(toybuf, "%ld", TT.count);
639 if (TT.noeol) xwrite(TT.fdout, "\n", 1);
640 TT.noeol = 0;
641 xsendfile(fd, TT.fdout);
661 TT.fdout = copy_tempfile(fd, name, &tmp);
662 TT.count = 0;
663 for (command = (void *)TT.pattern; command; command = command->next)
666 do_lines(fd, TT.delim, sed_line);
668 if (TT.i && *TT.i) {
669 char *s = xmprintf("%s%s", name, TT.i);
674 replace_tempfile(-1, TT.fdout, &tmp);
675 TT.fdout = 1;
676 TT.nextline = 0;
677 TT.nextlen = TT.noeol = 0;
750 struct sedcmd *command = (void *)TT.pattern;
763 TT.pattern = TT.pattern->prev;
764 command = dlist_pop(&TT.pattern);
780 if (command) dlist_add_nomalloc(&TT.pattern, (void *)command);
842 if (c == '{') TT.nextlen++;
844 if (!TT.nextlen--) break;
856 if (!(TT.remember = unescape_delimited_string(&line, &delim)))
908 if (!*TT.remember) command->arg1 = 0;
909 else xregcomp((void *)(command->arg1 + (char *)command), TT.remember,
911 free(TT.remember);
912 TT.remember = 0;
1036 if (!FLAG(z)) TT.delim = '\n';
1052 if (!TT.e && !TT.f) {
1054 (TT.e = xzalloc(sizeof(struct arg_list)))->arg = *(args++);
1060 for (al = TT.e; al; al = al->next) parse_pattern(&al->arg, strlen(al->arg));
1062 for (al = TT.f; al; al = al->next)
1063 do_lines(xopenro(al->arg), TT.delim, parse_pattern);
1064 dlist_terminate(TT.pattern);
1065 if (TT.nextlen) error_exit("no }");
1067 TT.fdout = 1;
1068 TT.remember = xstrdup("");