On Mon, Feb 19, 2007 at 03:53:10PM -0800, Ben Pfaff wrote:
> Albert Chin <[EMAIL PROTECTED]> writes:
> 
> > Huh? So, if vsnprintf() exists, you assume it's C99-compliant? glib
> > has a check for this, AC_FUNC_VSNPRINTF_C99, because that's not the
> > case on some systems. And, we found that Solaris and AIX 5.1 do not
> > have a C99-compliant vsnprintf(). The attached program returns -1 on
> > Solaris 6/SPARC thru Solaris 9/SPARC which has vsnprintf(), for
> > example.
> 
> It's not hard to check at runtime whether [v]snprintf is
> C99-compliant, as your example shows.  A previous version of my
> proposed change did just that.  Paul Eggert requested that I try
> to make it a compile- or link-time check, because the alternative
> was to assume that [v]snprintf needed to be replaced if we were
> cross-compiling.  I wasn't aware that these other systems have
> non-compliant [v]snprintf, so I didn't check for them.
> 
> Is it better to try to enumerate non-compliant systems at
> compile/link time, or to assume non-compliance when
> cross-compiling?  Neither choice is ideal.  What's more likely to
> be accepted into gnulib?

How about assuming compliance when cross-compliance but enumerate,
when cross-compiling, the systems that fail? When not cross-compiling,
let's perform the compile-time check.

-- 
albert chin ([EMAIL PROTECTED])


Reply via email to