提交 e68a4633 编写于 作者: N nsz

Merge branch 'master' of git://git.etalabs.net/musl

......@@ -4,10 +4,10 @@ See the file COPYING for the text of this license.
See below for the copyright status on all code included in musl:
The TRE regular expression implementation (src/regex/reg* and
src/regex/tre*) is Copyright © 2001-2006 Ville Laurikari and licensed
under the terms of the GNU LGPL version 2.1 or later. The included
version was heavily modified in Spring 2006 by Rich Felker in the
interests of size, simplicity, and namespace cleanliness.
src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
under a 2-clause BSD license (license text in the source files). The
included version has been heavily modified by Rich Felker in 2012, in
the interests of size, simplicity, and namespace cleanliness.
Most of the math library code (src/math/* and src/complex/*) is
Copyright © 1993,2004 Sun Microsystems or
......
......@@ -26,9 +26,7 @@ intended to be stable at this point, and serious efforts have been
made, using three separate test frameworks, to verify the correctness
of the implementation. Many major system-level and user-level programs
are known to work with musl, either out-of-the-box or with minor
patches to address portability errors; the main remaining applications
which definitely will not work are those which require C++ support,
which will be addressed during the 0.8 or 0.9 development series.
patches to address portability errors.
Included with this package is a gcc wrapper script (musl-gcc) which
allows you to build musl-linked programs using an existing gcc 4.x
......
......@@ -3,16 +3,15 @@
#include <stdarg.h>
#include <monetary.h>
#include <errno.h>
#include <stdarg.h>
ssize_t strfmon(char *s, size_t n, const char *fmt, ...)
static ssize_t vstrfmon_l(char *s, size_t n, locale_t loc, const char *fmt, va_list ap)
{
size_t l;
double x;
int fill, nogrp, negpar, nosym, left, intl;
int lp, rp, w, fw;
char *s0=s;
va_list ap;
va_start(ap, fmt);
for (; n && *fmt; ) {
if (*fmt != '%') {
literal:
......@@ -75,3 +74,28 @@ ssize_t strfmon(char *s, size_t n, const char *fmt, ...)
}
return s-s0;
}
ssize_t strfmon_l(char *s, size_t n, locale_t loc, const char *fmt, ...)
{
va_list ap;
ssize_t ret;
va_start(ap, fmt);
ret = vstrfmon_l(s, n, loc, fmt, ap);
va_end(ap);
return ret;
}
ssize_t strfmon(char *s, size_t n, const char *fmt, ...)
{
va_list ap;
ssize_t ret;
va_start(ap, fmt);
ret = vstrfmon_l(s, n, 0, fmt, ap);
va_end(ap);
return ret;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册