Hi Michael, I'm so sorry for this negative report. Yeah, you're right. It'll fall through,loop again,do "vsprintf" and return if done. -- Best regards, Eric, Ren HA team, SUSE >>> > Hello Zhen Ren, > > On 27 March 2015 at 06:27, Zhen Ren <zren@xxxxxxxx> wrote: > > Hi, > > There is simple bug in EXAMPLE section of "man 3 vsprintf". > > > > Function will return nothing if it steps into the last "else {}". > > > > ------------------ example code ----------------- > > char * > > make_message(const char *fmt, ...) > > { > > int n; > > int size = 100; /* Guess we need no more than 100 bytes */ > > char *p, *np; > > va_list ap; > > . > > .cut off > > . > > np = realloc(p, size); > > if (np == NULL) { > > free(p); > > return NULL; > > } else { > > p = np; > > + return p; > > } > > } > > } > > I have not looked too closely at the code, but the above report > appears incorrect to me. The function should NOT be returning at that > point. It should be falling through and then round the loop once more. > If I've missed something, could you elaborate a little more on the > problem, please? > > Cheers, > > Michael > > -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html