On 11/23/07, Tom Lane <[EMAIL PROTECTED]> wrote: > "Marko Kreen" <[EMAIL PROTECTED]> writes: > > On 11/23/07, Tom Lane <[EMAIL PROTECTED]> wrote: > >> Why? I can't imagine any real use for it. If you're thinking that > >> it could provide a guide as to what to resize the buffer to, think > >> again. > > > If the output was truncated due to this limit then the return > > value is the number of characters (not including the trailing > > '\0') which would have been written to the final string if > > enough space had been available. > > > What problem do you see? > > The problem is that you are quoting from some particular system's > manual, and not any kind of standard ... much less any standard that > every platform we support follows. > > The real-world situation is that we are lucky to be able to tell > vsnprintf success from failure at all :-(
Ah, ok. I just saw the result used inside the function, so I thought it is standard enough. Actually, the meaning could be changed to *needmore and compensated inside function: *needmore = (nprinted < buf->maxlen) ? buf->maxlen : nprinted + 1; Then it would not matter if libc is conforming or not. -- marko ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings