Commit 9ce3f7e5 by DJ Delorie Committed by DJ Delorie

Makefile.in (TESTLIB): New.

* Makefile.in (TESTLIB): New.  This library is for future
testsuites.
(CFILES, REQUIRED_OFILES, CONFIGURED_OFILES): Re-alphabetize,
break down by letter.
(REQUIRED_OFILES): List long-to-compile files first.
(maint-deps): New, target for updating dependencies.
(dependencies): Update.
* maint-tool: Add dependency-generating option.
* configure.in: Check for _doprnt even if we're not providing it.
* configure: Regenerate.

* _doprnt.c: Modifications to allow compiling on any platform.
* copysign.c: Likewise.
* putenv.c: Likewise.
* setenv.c: Likewise.
* vsprintf.c: Likewise.

From-SVN: r49090
parent 816e265a
2002-01-18 DJ Delorie <dj@redhat.com>
* Makefile.in (TESTLIB): New. This library is for future
testsuites.
(CFILES, REQUIRED_OFILES, CONFIGURED_OFILES): Re-alphabetize,
break down by letter.
(REQUIRED_OFILES): List long-to-compile files first.
(maint-deps): New, target for updating dependencies.
(dependencies): Update.
* maint-tool: Add dependency-generating option.
* configure.in: Check for _doprnt even if we're not providing it.
* configure: Regenerate.
* _doprnt.c: Modifications to allow compiling on any platform.
* copysign.c: Likewise.
* putenv.c: Likewise.
* setenv.c: Likewise.
* vsprintf.c: Likewise.
2002-01-15 Douglas B Rupp <rupp@gnat.com> 2002-01-15 Douglas B Rupp <rupp@gnat.com>
* mkstemps.c (mkstemps): On VMS, open temp file with option * mkstemps.c (mkstemps): On VMS, open temp file with option
......
/* Provide a version of _doprnt in terms of fprintf. /* Provide a version of _doprnt in terms of fprintf.
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 3/29/98 Contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 3/29/98
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
...@@ -29,9 +29,16 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ...@@ -29,9 +29,16 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#undef _doprnt #undef _doprnt
#ifdef HAVE__DOPRNT
#define TEST
#endif
#ifdef TEST /* Make sure to use the internal one. */ #ifdef TEST /* Make sure to use the internal one. */
#define _doprnt my_doprnt #define _doprnt my_doprnt
#endif #endif
......
...@@ -2734,23 +2734,79 @@ fi ...@@ -2734,23 +2734,79 @@ fi
done done
else
for ac_func in _doprnt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:2742: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2747 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
$ac_func();
#endif
; return 0; }
EOF
if { (eval echo configure:2770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
echo "$ac_t""yes" 1>&6
ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
else
echo "$ac_t""no" 1>&6
fi
done
fi fi
for v in $vars; do for v in $vars; do
echo $ac_n "checking for $v""... $ac_c" 1>&6 echo $ac_n "checking for $v""... $ac_c" 1>&6
echo "configure:2742: checking for $v" >&5 echo "configure:2798: checking for $v" >&5
if eval "test \"`echo '$''{'libiberty_cv_var_$v'+set}'`\" = set"; then if eval "test \"`echo '$''{'libiberty_cv_var_$v'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2747 "configure" #line 2803 "configure"
#include "confdefs.h" #include "confdefs.h"
int *p; int *p;
int main() { int main() {
extern int $v; p = &$v; extern int $v; p = &$v;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "libiberty_cv_var_$v=yes" eval "libiberty_cv_var_$v=yes"
else else
...@@ -2776,12 +2832,12 @@ EOF ...@@ -2776,12 +2832,12 @@ EOF
for ac_func in $checkfuncs for ac_func in $checkfuncs
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:2780: checking for $ac_func" >&5 echo "configure:2836: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2785 "configure" #line 2841 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
...@@ -2804,7 +2860,7 @@ $ac_func(); ...@@ -2804,7 +2860,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:2864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
...@@ -2830,21 +2886,21 @@ done ...@@ -2830,21 +2886,21 @@ done
fi fi
for ac_hdr in unistd.h for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:2838: checking for $ac_hdr" >&5 echo "configure:2894: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2843 "configure" #line 2899 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:2848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:2904: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
...@@ -2873,12 +2929,12 @@ done ...@@ -2873,12 +2929,12 @@ done
for ac_func in getpagesize for ac_func in getpagesize
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:2877: checking for $ac_func" >&5 echo "configure:2933: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2882 "configure" #line 2938 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
...@@ -2901,7 +2957,7 @@ $ac_func(); ...@@ -2901,7 +2957,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:2961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
...@@ -2926,7 +2982,7 @@ fi ...@@ -2926,7 +2982,7 @@ fi
done done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
echo "configure:2930: checking for working mmap" >&5 echo "configure:2986: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -2934,7 +2990,7 @@ else ...@@ -2934,7 +2990,7 @@ else
ac_cv_func_mmap_fixed_mapped=no ac_cv_func_mmap_fixed_mapped=no
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2938 "configure" #line 2994 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test. /* Thanks to Mike Haertel and Jim Avera for this test.
...@@ -2962,11 +3018,24 @@ else ...@@ -2962,11 +3018,24 @@ else
#include <fcntl.h> #include <fcntl.h>
#include <sys/mman.h> #include <sys/mman.h>
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
/* This mess was copied from the GNU getpagesize.h. */ /* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE #ifndef HAVE_GETPAGESIZE
# ifdef HAVE_UNISTD_H
# include <unistd.h>
# endif
/* Assume that all systems that can run configure have sys/param.h. */ /* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H # ifndef HAVE_SYS_PARAM_H
...@@ -3074,7 +3143,7 @@ main() ...@@ -3074,7 +3143,7 @@ main()
} }
EOF EOF
if { (eval echo configure:3078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:3147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_mmap_fixed_mapped=yes
else else
...@@ -3098,7 +3167,7 @@ fi ...@@ -3098,7 +3167,7 @@ fi
echo $ac_n "checking for working strncmp""... $ac_c" 1>&6 echo $ac_n "checking for working strncmp""... $ac_c" 1>&6
echo "configure:3102: checking for working strncmp" >&5 echo "configure:3171: checking for working strncmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_strncmp_works'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_strncmp_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -3106,7 +3175,7 @@ else ...@@ -3106,7 +3175,7 @@ else
ac_cv_func_strncmp_works=no ac_cv_func_strncmp_works=no
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3110 "configure" #line 3179 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Test by Jim Wilson and Kaveh Ghazi. /* Test by Jim Wilson and Kaveh Ghazi.
...@@ -3170,7 +3239,7 @@ main () ...@@ -3170,7 +3239,7 @@ main ()
} }
EOF EOF
if { (eval echo configure:3174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:3243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_func_strncmp_works=yes ac_cv_func_strncmp_works=yes
else else
......
...@@ -358,6 +358,8 @@ if test -z "${setobjs}"; then ...@@ -358,6 +358,8 @@ if test -z "${setobjs}"; then
|| test $ac_cv_func_vfprintf != yes \ || test $ac_cv_func_vfprintf != yes \
|| test $ac_cv_func_vsprintf != yes; then || test $ac_cv_func_vsprintf != yes; then
AC_REPLACE_FUNCS(_doprnt) AC_REPLACE_FUNCS(_doprnt)
else
AC_CHECK_FUNCS(_doprnt)
fi fi
for v in $vars; do for v in $vars; do
......
...@@ -129,6 +129,7 @@ typedef union ...@@ -129,6 +129,7 @@ typedef union
} __ieee_float_shape_type; } __ieee_float_shape_type;
#endif #endif
#if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN)
double DEFUN(copysign, (x, y), double x AND double y) double DEFUN(copysign, (x, y), double x AND double y)
{ {
...@@ -138,3 +139,14 @@ double DEFUN(copysign, (x, y), double x AND double y) ...@@ -138,3 +139,14 @@ double DEFUN(copysign, (x, y), double x AND double y)
a.number.sign =b.number.sign; a.number.sign =b.number.sign;
return a.value; return a.value;
} }
#else
double DEFUN(copysign, (x, y), double x AND double y)
{
if ((x < 0 && y > 0) || (x > 0 && y < 0))
return -x;
return x;
}
#endif
...@@ -36,6 +36,7 @@ if ($mode eq "-s") { ...@@ -36,6 +36,7 @@ if ($mode eq "-s") {
&missing() if $mode eq "missing"; &missing() if $mode eq "missing";
&undoc() if $mode eq "undoc"; &undoc() if $mode eq "undoc";
&deps() if $mode eq "deps";
exit 0; exit 0;
...@@ -178,3 +179,100 @@ sub undoc { ...@@ -178,3 +179,100 @@ sub undoc {
write; write;
} }
} }
######################################################################
sub deps_for {
my($f) = @_;
my(%d);
open(F, $f);
%d = ();
while (<F>) {
if (/^#\s*include\s+["<](.*)[">]/) {
$d{$1} = 1;
}
}
close(F);
return keys %d;
}
sub canonicalize {
my ($p) = @_;
0 while $p =~ s@/\./@/@g;
0 while $p =~ s@^\./@@g;
0 while $p =~ s@/[^/]+/\.\./@/@g;
return $p;
}
sub locals_first {
my ($a,$b) = @_;
return -1 if $a eq "config.h";
return 1 if $b eq "config.h";
return $a cmp $b;
}
sub deps {
$incdir = shift @ARGV;
opendir(INC, $incdir);
while ($f = readdir INC) {
next unless $f =~ /\.h$/;
$mine{$f} = "\$(INCDIR)/$f";
$deps{$f} = join(' ', &deps_for("$incdir/$f"));
}
$mine{'config.h'} = "config.h";
open(IN, "$srcdir/Makefile.in");
open(OUT, ">$srcdir/Makefile.tmp");
while (<IN>) {
last if /remainder of this file/;
print OUT;
}
print OUT "# The dependencies in the remainder of this file are automatically\n";
print OUT "# generated by \"make maint-deps\". Manual edits will be lost.\n\n";
opendir(S, $srcdir);
for $f (sort readdir S) {
if ($f =~ /\.c$/) {
%scanned = ();
@pending = &deps_for("$srcdir/$f");
while (@pending) {
@tmp = @pending;
@pending = ();
for $p (@tmp) {
next unless $mine{$p};
if (!$scanned{$p}) {
push(@pending, split(' ', $deps{$p}));
$scanned{$p} = 1;
}
}
}
@deps = sort { &locals_first($a,$b) } keys %scanned;
$obj = $f;
$obj =~ s/\.c$/.o/;
$obj = "$obj:";
if ($#deps >= 0) {
print OUT $obj;
$len = length($obj);
for $dt (@deps) {
$d = $mine{$dt};
if ($len + length($d) > 70) {
printf OUT " \\\n\t$d";
$len = 8 + length($d);
} else {
print OUT " $d";
$len += length($d) + 1;
}
}
print OUT "\n";
}
}
}
closedir(S);
close(IN);
close(OUT);
rename("$srcdir/Makefile.tmp", "$srcdir/Makefile.in");
}
/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc. /* Copyright (C) 1991, 1994, 1995, 1996, 2002 Free Software Foundation, Inc.
This file based on putenv.c in the GNU C Library. This file based on putenv.c in the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
...@@ -39,6 +39,8 @@ name is unset/removed. ...@@ -39,6 +39,8 @@ name is unset/removed.
#include "ansidecl.h" #include "ansidecl.h"
#define putenv libiberty_putenv
#if HAVE_STDLIB_H #if HAVE_STDLIB_H
# include <stdlib.h> # include <stdlib.h>
#endif #endif
...@@ -58,6 +60,8 @@ extern char *alloca (); ...@@ -58,6 +60,8 @@ extern char *alloca ();
# endif /* alloca */ # endif /* alloca */
#endif /* HAVE_ALLOCA_H */ #endif /* HAVE_ALLOCA_H */
#undef putenv
/* Below this point, it's verbatim code from the glibc-2.0 implementation */ /* Below this point, it's verbatim code from the glibc-2.0 implementation */
......
/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1992, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
This file based on setenv.c in the GNU C Library. This file based on setenv.c in the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
...@@ -36,6 +36,9 @@ environment. This implementation is not safe for multithreaded code. ...@@ -36,6 +36,9 @@ environment. This implementation is not safe for multithreaded code.
# include <config.h> # include <config.h>
#endif #endif
#define setenv libiberty_setenv
#define unsetenv libiberty_unsetenv
#include "ansidecl.h" #include "ansidecl.h"
#include <sys/types.h> /* For `size_t' */ #include <sys/types.h> /* For `size_t' */
#include <stdio.h> /* For `NULL' */ #include <stdio.h> /* For `NULL' */
...@@ -61,6 +64,9 @@ extern int errno; ...@@ -61,6 +64,9 @@ extern int errno;
extern char **environ; extern char **environ;
#endif #endif
#undef setenv
#undef unsetenv
/* LOCK and UNLOCK are defined as no-ops. This makes the libiberty /* LOCK and UNLOCK are defined as no-ops. This makes the libiberty
* implementation MT-Unsafe. */ * implementation MT-Unsafe. */
#define LOCK #define LOCK
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
implementations of stdio; newer ones should already have vsprintf. implementations of stdio; newer ones should already have vsprintf.
Written by Per Bothner of Cygnus Support. Written by Per Bothner of Cygnus Support.
Based on libg++'s "form" (written by Doug Lea; dl@rocky.oswego.edu). Based on libg++'s "form" (written by Doug Lea; dl@rocky.oswego.edu).
Copyright (C) 1991, 1995 Free Software Foundation, Inc. Copyright (C) 1991, 1995, 2002 Free Software Foundation, Inc.
This file is part of the libiberty library. This library is free This file is part of the libiberty library. This library is free
software; you can redistribute it and/or modify it under the software; you can redistribute it and/or modify it under the
...@@ -31,6 +31,8 @@ the executable file might be covered by the GNU General Public License. */ ...@@ -31,6 +31,8 @@ the executable file might be covered by the GNU General Public License. */
#include <ansidecl.h> #include <ansidecl.h>
#undef vsprintf #undef vsprintf
#if defined _IOSTRG && defined _IOWRT
int int
vsprintf (buf, format, ap) vsprintf (buf, format, ap)
char *buf; char *buf;
...@@ -53,3 +55,5 @@ vsprintf (buf, format, ap) ...@@ -53,3 +55,5 @@ vsprintf (buf, format, ap)
return ret; return ret;
} }
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment