[m-dev.] for review: detect _vsnprintf
Peter Ross
peter.ross at miscrit.be
Fri Aug 11 23:46:43 AEST 2000
This really should have been a diff, but I was having such a bad day I
posted it for review, just in case.
On Thu, Aug 10, 2000 at 12:45:11PM +0200, Peter Ross wrote:
> Hi,
>
>
> ===================================================================
>
>
> Estimated hours taken: 0.5
>
> Check for the availability of _vsnprintf.
>
> configure.in:
> Check for the availability of _vsnprintf.
>
> runtime/mercury_conf.h.in:
> Define HAVE__VSNPRINTF.
>
> runtime/mercury_string.c:
> If vsnprintf isn't available and _vsnprintf is, use _vsnprintf
> in place of vsnprintf.
>
>
> Index: configure.in
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/configure.in,v
> retrieving revision 1.215
> diff -u -r1.215 configure.in
> --- configure.in 2000/08/10 09:01:14 1.215
> +++ configure.in 2000/08/10 10:41:29
> @@ -297,7 +297,7 @@
> esac
> AC_HAVE_FUNCS(sysconf getpagesize memalign mprotect sigaction setitimer)
> AC_HAVE_FUNCS(strerror memmove fileno fdopen fstat)
> -AC_HAVE_FUNCS(vsnprintf)
> +AC_HAVE_FUNCS(vsnprintf _vsnprintf)
> #-----------------------------------------------------------------------------#
> AC_CHECK_HEADER(unistd.h, HAVE_UNISTD_H=1)
> if test "$HAVE_UNISTD_H" = 1; then
> Index: runtime/mercury_conf.h.in
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/runtime/mercury_conf.h.in,v
> retrieving revision 1.29
> diff -u -r1.29 mercury_conf.h.in
> --- runtime/mercury_conf.h.in 2000/08/10 09:01:17 1.29
> +++ runtime/mercury_conf.h.in 2000/08/10 10:41:35
> @@ -140,6 +140,7 @@
> ** system call is available:
> **
> ** HAVE_VSNPRINTF we have the vsnprintf() function.
> +** HAVE__VSNPRINTF we have the _vsnprintf() function.
> ** HAVE_SYSCONF we have the sysconf() system call.
> ** HAVE_SIGACTION we have the sigaction() system call.
> ** HAVE_GETPAGESIZE we have the getpagesize() system call.
> @@ -160,6 +161,7 @@
> ** #if defined(fileno) || defined(HAVE_FILENO)
> */
> #undef HAVE_VSNPRINTF
> +#undef HAVE__VSNPRINTF
> #undef HAVE_SYSCONF
> #undef HAVE_SIGACTION
> #undef HAVE_GETPAGESIZE
> Index: runtime/mercury_string.c
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/runtime/mercury_string.c,v
> retrieving revision 1.4
> diff -u -r1.4 mercury_string.c
> --- runtime/mercury_string.c 2000/08/10 09:37:32 1.4
> +++ runtime/mercury_string.c 2000/08/10 10:41:39
> @@ -9,13 +9,17 @@
> #include "mercury_imp.h"
> #include "mercury_string.h"
>
> +#if defined(HAVE__VSNPRINTF) && ! defined(HAVE_VSNPRINTF)
> + #define vsnprintf _vsnprintf
> +#endif
> +
> MR_String
> MR_make_string(MR_Code *proclabel, const char *fmt, ...) {
> va_list ap;
> MR_String result;
> int n;
>
> -#ifdef HAVE_VSNPRINTF
> +#if defined(HAVE_VSNPRINTF) || defined(HAVE__VSNPRINTF)
> /* Guess that 100 bytes should be sufficient */
> int size = 100;
> char *p;
>
> --------------------------------------------------------------------------
> mercury-developers mailing list
> Post messages to: mercury-developers at cs.mu.oz.au
> Administrative Queries: owner-mercury-developers at cs.mu.oz.au
> Subscriptions: mercury-developers-request at cs.mu.oz.au
> --------------------------------------------------------------------------
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list