From: Wu Y. <ad...@ne...> - 2002-05-21 07:47:45
|
No, I don't suppose any MSVC users will like the warning at default mode (I don't mind a warning at -ansi or -pedantic mode). Don't forget that MSVC users are the main target users of MinGW, but not Unix programmers. It is better to use Cygwin for that purpose. The "_" does tell you it is a non-ANSI and maybe non-portable function. It is the convention of Microsoft and other compilers. Regards, Wu Yongwei --- Original Message from Matthew Miller <ma...@ma...> --- On Mon, May 20, 2002 at 07:07:52AM +0200, Oscar Fuentes wrote: > Well, except for totally beginners, every MinGW user knows he is > dealing with MSVCRT, so there is no need for warning people that > things can be different here from other systems. Yeah, but there's no particular reason to expect this difference in behavior (except the _, which doesn't tell you much), and it can lead to string overruns, so a warning would be good. -- Matthew Miller ma...@ma... <http://www.mattdm.org/> Boston University Linux ------> <http://linux.bu.edu/> |
From: Wu Y. <ad...@ne...> - 2002-05-21 07:59:10
|
This is exactly the reason I hate autoconf. It does not ease anything, IMHO. For the current example, I think it is much better not to assume snprintf is C99 compliant and write code in the conservative way (append '\0' manually when necessary) and thus keep the code cross-platform by itself (and no need for two pieces of code). In this imperfect world standards have more meanings for vendors. We developers had better forget the standards and focus only on what we could get. Best regards, Wu Yongwei --- Original Message from Earnie Boyd <ear...@ya...> --- Oscar Fuentes wrote: > > Danny Smith <dan...@ya...> writes: > > [About discriminating different C RTL's] > > It looks ok for me. Thanks for the explanation. > Don't forget that if you want to do things portably across differing runtimes then you should do the autoconfiscate way and do something like #if SNPRINTF_C99_COMPLIANT /* Do C99 compliant coding */ #else /* Do non-C99 compliant coding */ #endif Then create your .m4 macros to create the checks for setting SNPRINTF_C99_COMPLIANT appropriatly in the configure script. Earnie. |
From: Matthew M. <ma...@ma...> - 2002-05-21 13:44:55
|
On Tue, May 21, 2002 at 03:47:30PM +0800, Wu Yongwei wrote: > No, I don't suppose any MSVC users will like the warning at default mode (I > don't mind a warning at -ansi or -pedantic mode). I don't mean a compiler warning. I mean a comment in the header files. That way, someone who says "Hmmm, MinGW doesn't have snprintf.... hey look, here's _snprintf" won't be fooled. -- Matthew Miller ma...@ma... <http://www.mattdm.org/> Boston University Linux ------> <http://linux.bu.edu/> |