Mail Archives: djgpp-workers/1999/06/14/14:05:33
Bonjour M. Eli Zaretskii
>
>
> On Wed, 9 Jun 1999, Alain Magloire wrote:
>
> > int
> > snprintf(char *str, size_t n, const char *fmt, ...)
> > {
> > FILE _strbuf;
> > int len;
> >
> > if ((int)n < 1)
> > return EOF;
>
> The C9X draft is rather vague on this point, but it surely doesn't say
> that N should be strictly positive. In fact, I can understand its
> language as meaning that calling {v,}snprintf with a zero N is a way
> to know how many characters should I allocate for the string that I
> pass to it when I *really* need some output.
>
> What do other implementations do when N is zero?
An unfair question, lots of OS did not have the chance to
catch up with C9X. So they usually will implement the old BSD
behaviour
if (n < 1)
return EOF;
Even Unix98 and XSH says if n == 0 the behaviour is unspecified.
For example Solaris-2.6 still will return -1(EOF).
But I think your desire to follow C9X std, is fair.
--
au revoir, alain
----
Aussi haut que l'on soit assis, on est toujours assis que sur son cul !!!
- Raw text -