summaryrefslogtreecommitdiffstats
path: root/lib/libI77/wrtfmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libI77/wrtfmt.c')
-rw-r--r--lib/libI77/wrtfmt.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/libI77/wrtfmt.c b/lib/libI77/wrtfmt.c
index b08b7a8..545dcb9 100644
--- a/lib/libI77/wrtfmt.c
+++ b/lib/libI77/wrtfmt.c
@@ -1,12 +1,8 @@
#include "f2c.h"
#include "fio.h"
#include "fmt.h"
+
extern int f__cursor;
-#ifdef KR_headers
-extern char *f__icvt();
-#else
-extern char *f__icvt(long, int*, int*, int);
-#endif
int f__hiwater;
icilist *f__svic;
char *f__icptr;
@@ -151,7 +147,7 @@ wrt_I(n,w,len, base) Uint *n; ftnlen len; register int base;
wrt_I(Uint *n, int w, ftnlen len, register int base)
#endif
{ int ndigit,sign,spare,i;
- long x;
+ longint x;
char *ans;
if(len==sizeof(integer)) x=n->il;
else if(len == sizeof(char)) x = n->ic;
@@ -179,10 +175,13 @@ wrt_IM(n,w,m,len,base) Uint *n; ftnlen len; int base;
wrt_IM(Uint *n, int w, int m, ftnlen len, int base)
#endif
{ int ndigit,sign,spare,i,xsign;
- long x;
+ longint x;
char *ans;
if(sizeof(integer)==len) x=n->il;
else if(len == sizeof(char)) x = n->ic;
+#ifdef Allow_TYQUAD
+ else if (len == sizeof(longint)) x = n->ili;
+#endif
else x=n->is;
ans=f__icvt(x,&ndigit,&sign, base);
if(sign || f__cplus) xsign=1;
@@ -288,6 +287,9 @@ wrt_G(ufloat *p, int w, int d, int e, ftnlen len)
if(x<.1) {
if (x != 0.)
return(wrt_E(p,w,d,e,len));
+#ifdef WANT_LEAD_0
+ i = 1;
+#endif
goto have_i;
}
for(;i<=d;i++,up*=10)
OpenPOWER on IntegriCloud