char id_lwrite[] = "@(#)lwrite.c 1.1";
if(n
=c_le(a
,WRITE
)) return(n
);
if(!curunit
->uwrt
) nowwriting(curunit
);
l_write(number
,ptr
,len
,type
) ftnint
*number
,type
; flex
*ptr
; ftnlen len
;
ERR(lwrt_F(ptr
->flreal
));
ERR(lwrt_D(ptr
->fldouble
));
ERR(lwrt_A((char *)ptr
,len
));
fatal(119,"unknown type in lwrite");
ptr
= (flex
*)((char *)ptr
+ len
);
sprintf(buf
," %ld",(long)in
);
if(n
=chk_len(LINTW
)) return(n
);
if(n
=chk_len(LLOGW
)) return(n
);
return(wrt_L(&ln
,LLOGW
));
lwrt_A(p
,len
) char *p
; ftnlen len
;
if(n
=chk_len(LSTRW
)) return(n
);
for(i
=0;i
<len
;i
++) PUT(*p
++)
{ int d
,n
; float x
; ufloat f
;
if(fn
==0.0) return(lwrt_0());
if(n
=chk_len(d
)) return(n
);
for(d
=LFD
,x
=abs(fn
);x
>=1.0;x
/=10.0,d
--);
return(wrt_F(&f
,LFW
,d
,(ftnlen
)sizeof(float)));
return(wrt_E(&f
,LEW
,LED
-scale
,LEE
,(ftnlen
)sizeof(float)));
{ int d
,n
; double x
; ufloat f
;
if(dn
==0.0) return(lwrt_0());
if(n
=chk_len(d
)) return(n
);
for(d
=LDFD
,x
=abs(dn
);x
>=1.0;x
/=10.0,d
--);
return(wrt_F(&f
,LDFW
,d
,(ftnlen
)sizeof(double)));
return(wrt_E(&f
,LDEW
,LDED
-scale
,LDEE
,(ftnlen
)sizeof(double)));
if(n
=chk_len(LCW
)) return(n
);
if(n
=lwrt_F(a
)) return(n
);
if(n
=lwrt_F(b
)) return(n
);
if(n
=chk_len(LDCW
)) return(n
);
if(n
=lwrt_D(a
)) return(n
);
if(n
=lwrt_D(b
)) return(n
);
{ int n
; char *z
= " 0.";
if(n
=chk_len(4)) return(n
);
if(recpos
+w
> line_len
) PUT('\n')