diff options
Diffstat (limited to 'src/lib9/fmt')
-rw-r--r-- | src/lib9/fmt/dorfmt.c | 1 | ||||
-rw-r--r-- | src/lib9/fmt/errfmt.c | 32 | ||||
-rw-r--r-- | src/lib9/fmt/fltfmt.c | 6 | ||||
-rw-r--r-- | src/lib9/fmt/fmtfd.c | 2 |
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); |