Unbreak fwprintf autoconf check cpp symbols

darcs-hash:20060302112917-ac50b-29d524dc3df09ad9a6e88669e6c20f46677ec2ee.gz
This commit is contained in:
axel 2006-03-02 21:29:17 +10:00
parent 3b6d8756ea
commit 82bff9f407
2 changed files with 26 additions and 18 deletions

View File

@ -179,28 +179,29 @@ fi
if test "$ac_cv_func_fwprintf" = yes; then if test "$ac_cv_func_fwprintf" = yes; then
# Check if fwprintf is broken # Check if fwprintf is broken
AC_MSG_CHECKING([if fwprintf is broken]) AC_MSG_CHECKING([if fwprintf is broken])
AC_RUN_IFELSE( AC_RUN_IFELSE(
[AC_LANG_PROGRAM([ [AC_LANG_PROGRAM([
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <locale.h> #include <locale.h>
#include <wchar.h> #include <wchar.h>
],[ ],
setlocale( LC_ALL, "" ); [
fwprintf( stderr, L"%ls%ls", L"", L"fish:" ); setlocale( LC_ALL, "" );
])], fwprintf( stderr, L"%ls%ls", L"", L"fish:" );
[fwprintf_broken=no], ])],
[fwprintf_broken=yes] ) [fwprintf_broken=no],
[fwprintf_broken=yes] )
if test "$fwprintf_broken" = yes; then if test "$fwprintf_broken" = yes; then
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
AC_DEFINE([HAVE_FWPRINTF], [0], AC_DEFINE([HAVE_BROKEN_FWPRINTF], [1],
[Undefined if no fwprintf implementation exists, defined to 0 if fwprintf exist but is broken, 1 if it exists and works]) [Define to 1 one if the implemented fwprintf is broken])
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
fi fi

View File

@ -51,8 +51,15 @@ int tputs(const char *str, int affcnt, int (*putc)(tputs_arg_t))
#endif #endif
#ifndef HAVE_FWPRINTF
#define INTERNAL_FWPRINTF 1
#endif
#if !HAVE_FWPRINTF #ifdef HAVE_BROKEN_FWPRINTF
#define INTERNAL_FWPRINTF 1
#endif
#ifdef INTERNAL_FWPRINTF
void pad( void (*writer)(wchar_t), int count) void pad( void (*writer)(wchar_t), int count)
{ {