summaryrefslogtreecommitdiff
path: root/src/lib9/fmt
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib9/fmt')
-rw-r--r--src/lib9/fmt/dorfmt.c1
-rw-r--r--src/lib9/fmt/errfmt.c32
-rw-r--r--src/lib9/fmt/fltfmt.c6
-rw-r--r--src/lib9/fmt/fmtfd.c2
4 files changed, 37 insertions, 4 deletions
diff --git a/src/lib9/fmt/dorfmt.c b/src/lib9/fmt/dorfmt.c
index c18d9ee5d..f760d47e5 100644
--- a/src/lib9/fmt/dorfmt.c
+++ b/src/lib9/fmt/dorfmt.c
@@ -61,5 +61,4 @@ dorfmt(Fmt *f, const Rune *fmt)
if(fmt == nil)
return -1;
}
- return 0; /* not reached */
}
diff --git a/src/lib9/fmt/errfmt.c b/src/lib9/fmt/errfmt.c
new file mode 100644
index 000000000..a86709398
--- /dev/null
+++ b/src/lib9/fmt/errfmt.c
@@ -0,0 +1,32 @@
+// +build plan9
+
+/*
+ * The authors of this software are Rob Pike and Ken Thompson,
+ * with contributions from Mike Burrows and Sean Dorward.
+ *
+ * Copyright (c) 2002-2006 by Lucent Technologies.
+ * Portions Copyright (c) 2004 Google Inc.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES
+ * NOR GOOGLE INC MAKE ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING
+ * THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ */
+
+#include <u.h>
+#include <libc.h>
+#include "fmtdef.h"
+
+int
+__errfmt(Fmt *f)
+{
+ char buf[ERRMAX];
+
+ rerrstr(buf, sizeof buf);
+ return __fmtcpy(f, buf, utflen(buf), strlen(buf));
+}
diff --git a/src/lib9/fmt/fltfmt.c b/src/lib9/fmt/fltfmt.c
index dec6f8480..6fe819221 100644
--- a/src/lib9/fmt/fltfmt.c
+++ b/src/lib9/fmt/fltfmt.c
@@ -154,6 +154,7 @@ xsub1(char *a, int n)
* so that it has a nonzero first digit.
*/
abort();
+ return 0;
}
/*
@@ -180,7 +181,7 @@ xfmtexp(char *p, int e, int ucase)
se[i++] = '0';
while(i > 0)
*p++ = se[--i];
- *p++ = '\0';
+ *p = '\0';
}
/*
@@ -192,7 +193,8 @@ xfmtexp(char *p, int e, int ucase)
static void
xdtoa(double f, char *s, int *exp, int *neg, int *ns)
{
- int d, e2, e, ee, i, ndigit, oerrno;
+ int d, e2, e, ee, i, ndigit;
+ int oerrno;
char c;
char tmp[NSIGNIF+10];
double g;
diff --git a/src/lib9/fmt/fmtfd.c b/src/lib9/fmt/fmtfd.c
index c32abf115..dde05b7a5 100644
--- a/src/lib9/fmt/fmtfd.c
+++ b/src/lib9/fmt/fmtfd.c
@@ -43,7 +43,7 @@ fmtfdinit(Fmt *f, int fd, char *buf, int size)
f->to = buf;
f->stop = buf + size;
f->flush = __fmtFdFlush;
- f->farg = (void*)(uintptr_t)fd;
+ f->farg = (void*)(uintptr)fd;
f->flags = 0;
f->nfmt = 0;
fmtlocaleinit(f, nil, nil, nil);