DO IF
*s2
++ == 0 ORF s1
>=es1
THEN tabs
=0; posn
=0; q
=printbuf
;
FOR p
=0; p
<printptr
-printbuf
; p
++
ELSE WHILE tabs
>0 DO
*q
++=TB
; tabs
--; OD
WHILE posn
>0 DO
*q
++=SP
; posn
--; OD
write(outfile
,printbuf
,q
-printbuf
);
WHILE (printptr
-printbuf
)&7 DO
*printptr
++=SP
; OD
{ return(printptr
-printbuf
);
ELSE IF
*fptr
=='-' THEN adj
='l'; fptr
++; ELSE adj
='r'; FI
IF
*fptr
=='.' THEN fptr
++; prec
=convert(&fptr
); ELSE prec
= -1; FI
dptr
=rptr
=vptr
; lx
= *dptr
; x
= *vptr
++;
lx
=x
; printoct(lx
,-1); break;
printdbl(0,x
,c
,16); break;
printdate(lx
); vptr
++; break;
printdbl(lx
,c
,10); vptr
++; break;
printoct(lx
,0); vptr
++; break;
printoct(lx
,-1); vptr
++; break;
printdbl(lx
,'x',16); vptr
++; break;
s
=ecvt(*rptr
, prec
, &decpt
, &n
);
*digitptr
++ = (decpt
<=0 ? '0' : *s
++);
IF decpt
>0 THEN decpt
--; FI
WHILE
*s ANDF prec
-- DO
*digitptr
++ = *s
++; OD
WHILE
*--digitptr
=='0' DONE
digitptr
+= (digitptr
-digits
>=3 ? 1 : 2);
THEN
*digitptr
++ = 'e'; printnum(decpt
,'d',10);
THEN width
-= charpos()%width
;
THEN
*digitptr
=0; s
=digits
;
n
=(prec
<n ANDF prec
>=0 ? prec
: n
);
WHILE n
-- DO
printc(*s
++); OD
WHILE width
-- > 0 DO
printc(SP
); OD
FOR i
=20; i
<24; i
++ DO
*digitptr
++ = *(timeptr
+i
); OD
FOR i
=3; i
<19; i
++ DO
*digitptr
++ = *(timeptr
+i
); OD
WHILE ((c
= *(*cp
)++)>='0') ANDF (c
<='9') DO n
=n
*10+c
-'0'; OD
IF n
<0 ANDF fmat
=='d' THEN n
= -n
; *digitptr
++ = '-'; FI
DO
*dptr
++ = ((POS
)n
)%base
;
IF dptr
==digs THEN
*dptr
++=0; FI
*digitptr
++ = (k
+(k
<=9 ? '0' : 'a'-10));
THEN po
= -po
; *digitptr
++='-';
ELSE IF s
>0 THEN
*digitptr
++='+'; FI
DO digs
[i
] = po
&7; po
=>> 3; OD
digs
[10] &= 03; digs
[11]=0;
DO IF digs
[i
] THEN
break; FI OD
DO
*digitptr
++=digs
[i
]+'0'; OD
printdbl(lx
,ly
,fmat
,base
)
INT lx
, ly
; char fmat
; int base
;
{ int digs
[20]; int *dptr
; char k
;
THEN f
=leng(lx
); f
*= itol(1,0); f
+= leng(ly
);
IF fmat
=='x' THEN
*digitptr
++='#'; FI
IF f
<0 THEN
*digitptr
++='-'; f
= -f
; FI
IF dptr
==digs THEN
*dptr
++=0; FI
*digitptr
++ = (k
+(k
<=9 ? '0' : 'a'-10));
THEN
close(infile
); infile
=0;
THEN
flushbuf(); close(outfile
); outfile
=1;