extern struct s
*frame
, *stk
;
extern int *wdstart
, *wdend
;
if((dip
== d
) && (v
.nl
== -1)){
}else if(pendw
&& !brflg
){
if((lastl
= (ll
- un
)) < ne
)lastl
= ne
;
if(admod
&& ad
&& (brflg
!= 2)){
if(admod
== 1)un
+= quant(nel
/2,t
.Adj
);
if(admod
== 1)un
+= nel
/2;
else if(admod
==2)un
+= nel
;
if((lastl
+un
) > dip
->maxl
)dip
->maxl
= (lastl
+un
);
if(adrem
%t
.Adj
)res
= t
.Hor
; else res
= t
.Adj
;
if(((j
= *i
++) & CMASK
) == ' '){
}while(((j
= *i
++) & CMASK
) == ' ');
if((j
= ll
- un
- lastl
+ ics
) > 0)horiz(j
);
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);
nw
= width('1' | nrbits
);
if((dip
== d
) && (v
.nl
== -1)){newline(1); return;}
if(pendt
)if(spcnt
)goto t2
; else goto t3
;
while(((i
= GETCH()) & CMASK
) == ' ')spcnt
++;
nflush
= pendt
= ch
= spcnt
= 0;
/* jfr */ if (nwd
==1) adsp
=nel
; else adsp
=nel
/(nwd
-1);
adsp
= (adsp
/t
.Adj
)*t
.Adj
;
adrem
= nel
- adsp
*(nwd
-1);
while((j
= ((i
= GETCH()) & CMASK
)) != '\n'){
if((i
=quant(nel
/2,HOR
)) > 0)un
+= i
;
if(!nc
)storeline(FILLER
,0);
if(flss
)i
= flss
; else i
= lss
;
if(it
&& (--it
== 0) && itmac
)control(itmac
,0);
if((i
=findr(c
>>BYTE
)) != -1)vlist
[i
] = ne
;
if(linep
>= (line
+ lnsize
- 1)){
prstrfl("Line overflow.\n");
* if( cu && !(c & MOT) && (trtab[(c & CMASK)] == ' '))
* c = ((c & ~ulbit) & ~CMASK) | '_';
if(dip
->ditrap
&& !dip
->ditf
&&
(dip
->dnl
>= dip
->ditrap
) && dip
->dimac
)
if(control(dip
->dimac
,0)){trap
++; dip
->ditf
++;}
nlss
= dip
->alss
+ dip
->blss
+ lss
;
if(ascii
){dip
->alss
= dip
->blss
= 0;}
ejf
= dip
->hnl
= v
.nl
= 0;
if((!nc
&& !wch
) || ndone
)done1(0);
if(frame
== stk
)nflush
++;
if((j
= findn(0)) != NTRAP
)
trap
= control(mlist
[j
],0);
} else if((i
= findt(v
.nl
-nlss
)) <= nlss
){
if((j
= findn1(v
.nl
-nlss
+i
)) == NTRAP
){
prstrfl("Trap botch.\n");
trap
= control(mlist
[j
],0);
if((j
= nlist
[i
]) < 0)j
+= pl
;
if(dip
->dimac
&& ((i
= dip
->ditrap
-a
) > 0))k
= i
;
if((j
= nlist
[i
]) < 0)j
+= pl
;
if((j
-= a
) <= 0)continue;
if(dip
!= d
)i
= dip
->dnl
;
if(v
.nl
&& !trap
)goto e1
;
while(((i
= *wp
++) & CMASK
) == ' '){
(!nwd
|| (nel
> 3*sps
)) &&
(!(hyf
& 02) || (findt1() > lss
))
while(*hyp
&& (*hyp
<= wp
))hyp
++;
if((hyoff
!= 1) && (*hyp
== wp
)){
(!(hyf
& 04) || (wp
< (wdend
-1))) &&
(!(hyf
& 010) || (wp
> (wdstart
+2)))
hys
= width(0200); /*hyphen*/
if(wch
== savwch
)goto m4
;
if(*--linep
!= IMP
)goto m5
;
if(((i
= *(linep
-1) & CMASK
) != '-') &&
*linep
= (*(linep
-1) & ~CMASK
) | 0200;
if(wordp
= pendw
)goto g1
;
j
= (i
= GETCH()) & CMASK
;
storeword(i
,width(i
)); /* XXX */
storeword(' ' | chbits
, -1);
storeword(' ' | chbits
, -1);
if(hyp
> (hyptr
+NHYP
-1))hyp
= hyptr
+NHYP
-1;
(j
== 0203) /*3/4 Em dash*/
if(hyp
> (hyptr
+NHYP
-1))hyp
= hyptr
+NHYP
-1;
storeword(i
,width(i
)); /* XXX */
j
= (i
= GETCH()) & CMASK
;
if(wordp
>= &word
[WDSIZE
- 1]){
prstrfl("Word overflow.\n");
if(!((i
= getch()) & MOT
) && (i
& ulbit
)){
if(cu
&& (trtab
[j
] == ' '))
i
= ((i
& ~ulbit
)& ~CMASK
) | '_';
if(!cu
&& (j
>32) && (j
<0370) && !(*t
.codetab
[j
-32] & 0200))