tbreak(){ register *i, j, pad; int res; trap = 0; if(nb)return; if((dip == d) && (v.nl == -1)){ newline(1); return; } if(!nc){ setnel(); if(!wch)return; if(pendw)getword(1); movword(); }else if(pendw && !brflg){ getword(1); movword(); } *linep = dip->nls = 0; #ifdef NROFF if(dip == d)horiz(po); #endif if(lnmod)donum(); lastl = ne; if(brflg != 1){ totout = 0; }else if(ad){ if((lastl = (ll - un)) < ne)lastl = ne; } if(admod && ad && (brflg != 2)){ lastl = ne; adsp = adrem = 0; #ifdef NROFF if(admod == 1)un += quant(nel/2,t.Adj); #endif #ifndef NROFF if(admod == 1)un += nel/2; #endif else if(admod ==2)un += nel; } totout++; brflg = 0; if((lastl+un) > dip->maxl)dip->maxl = (lastl+un); horiz(un); #ifdef NROFF if(adrem%t.Adj)res = t.Hor; else res = t.Adj; #endif for(i = line;nc > 0;){ if(((j = *i++) & CMASK) == ' '){ pad = 0; do{ pad += width(j); nc--; }while(((j = *i++) & CMASK) == ' '); i--; pad += adsp; --nwd; if(adrem){ if(adrem < 0){ #ifdef NROFF pad -= res; adrem += res; }else if((totout&01) || ((adrem/res)>=(nwd))){ pad += res; adrem -= res; #endif #ifndef NROFF pad--; adrem++; }else{ pad++; adrem--; #endif } } horiz(pad); }else{ pchar(j); nc--; } } if(ic){ if((j = ll - un - lastl + ics) > 0)horiz(j); pchar(ic); } if(icf)icf++; else ic = 0; ne = nwd = 0; un = in; setnel(); newline(0); if(dip != d){if(dip->dnl > dip->hnl)dip->hnl = dip->dnl;} else{if(v.nl > dip->hnl)dip->hnl = v.nl;} for(j=ls-1; (j >0) && !trap; j--)newline(0); spread = 0; }
void tbreak(void) { int pad, k; Tchar *i, j; int resol; int un0 = un; trap = 0; if (nb) return; if (dip == d && numtabp[NL].val == -1) { newline(1); return; } if (!nc) { setnel(); if (!wch) return; if (pendw) getword(1); movword(); } else if (pendw && !brflg) { getword(1); movword(); } *linep = dip->nls = 0; if (NROFF && dip == d) horiz(po); if (lnmod) donum(); lastl = ne; if (brflg != 1) { totout = 0; } else if (ad) { if ((lastl = ll - un) < ne) lastl = ne; } if (admod && ad && (brflg != 2)) { lastl = ne; adsp = adrem = 0; if (admod == 1) un += quant(nel / 2, HOR); else if (admod == 2) un += nel; } totout++; brflg = 0; if (lastl + un > dip->maxl) dip->maxl = lastl + un; horiz(un); if (NROFF) { if (adrem % t.Adj) resol = t.Hor; else resol = t.Adj; } else resol = HOR; lastl = ne + (nwd-1) * adsp + adrem; for (i = line; nc > 0; ) { if ((cbits(j = *i++)) == ' ') { pad = 0; do { pad += width(j); nc--; } while ((cbits(j = *i++)) == ' '); i--; pad += adsp; --nwd; if (adrem) { if (adrem < 0) { pad -= resol; adrem += resol; } else if ((totout & 01) || adrem / resol >= nwd) { pad += resol; adrem -= resol; } } pchar((Tchar) WORDSP); horiz(pad); } else { pchar(j); nc--; } } if (ic) { if ((k = ll - un0 - lastl + ics) > 0) horiz(k); pchar(ic); } if (icf) icf++; else ic = 0; ne = nwd = 0; un = in; setnel(); newline(0); if (dip != d) { if (dip->dnl > dip->hnl) dip->hnl = dip->dnl; } else { if (numtabp[NL].val > dip->hnl) dip->hnl = numtabp[NL].val; } for (k = ls - 1; k > 0 && !trap; k--) newline(0); spread = 0; }
int tbreak() { int pad, k; tchar *i, j; int resol = 0; #ifdef EUC #ifdef NROFF tchar l; #endif /* NROFF */ #endif /* EUC */ trap = 0; if (nb) return (0); if (dip == d && numtab[NL].val == -1) { newline(1); return (0); } if (!nc) { setnel(); if (!wch) return (0); if (pendw) getword(1); movword(); } else if (pendw && !brflg) { getword(1); movword(); } *linep = dip->nls = 0; #ifdef NROFF if (dip == d) horiz(po); #endif if (lnmod) donum(); lastl = ne; if (brflg != 1) { totout = 0; } else if (ad) { if ((lastl = ll - un) < ne) lastl = ne; } if (admod && ad && (brflg != 2)) { lastl = ne; adsp = adrem = 0; if (admod == 1) un += quant(nel / 2, HOR); else if (admod == 2) un += nel; } totout++; brflg = 0; if (lastl + un > dip->maxl) dip->maxl = lastl + un; horiz(un); #ifdef NROFF if (adrem % t.Adj) resol = t.Hor; else resol = t.Adj; #else resol = HOR; #endif adrem = (adrem / resol) * resol; for (i = line; nc > 0; ) { #ifndef EUC if ((cbits(j = *i++)) == ' ') { #else #ifndef NROFF if ((cbits(j = *i++)) == ' ') { #else if ((cbits(j = *i++) & ~MBMASK) == ' ') { #endif /* NROFF */ #endif /* EUC */ pad = 0; do { pad += width(j); nc--; #ifndef EUC } while ((cbits(j = *i++)) == ' '); #else #ifndef NROFF } while ((cbits(j = *i++)) == ' '); #else } while ((cbits(j = *i++) & ~MBMASK) == ' '); #endif /* NROFF */ #endif /* EUC */ i--; pad += adsp; --nwd; if (adrem) { if (adrem < 0) { pad -= resol; adrem += resol; } else if ((totout & 01) || adrem / resol >= nwd) { pad += resol; adrem -= resol; } } pchar((tchar) WORDSP); horiz(pad); } else { pchar(j); nc--; } } if (ic) { if ((k = ll - un - lastl + ics) > 0) horiz(k); pchar(ic); } if (icf) icf++; else ic = 0; ne = nwd = 0; un = in; setnel(); newline(0); if (dip != d) { if (dip->dnl > dip->hnl) dip->hnl = dip->dnl; } else { if (numtab[NL].val > dip->hnl) dip->hnl = numtab[NL].val; } for (k = ls - 1; k > 0 && !trap; k--) newline(0); spread = 0; return (0); }