On Sun, Oct 15, 2006 at 02:42:44PM +0400, Dmitry V. Levin wrote: > > Кстати с asprintf результат можно не проверять, вот каким образом: > > > > char *ptr = NULL; > > asprintf(&ptr, fmt, ...); > > if (ptr) { > > ... > > } else { > > // asprintf failed > > } > > Это не переносимо на другие дистрибутивы. У меня когда-то давно была > растянутая во времени дискуссия в libc-alpha с Дреппером на тему > glibc-2.5-alt-asprintf.patch, можно нагуглить. В конечном итоге меня > поддержали все кроме Дреппера. :) Нет, ты с ним дискутировал о том, что asprintf должен ЗАНУЛЯТЬ ptr если внутри пошло что-то не так (упал malloc). Здесь же я НЕ рассчитываю на то, что asprintf занулит prt -- он уже занулен с самого начала; а всего лишь на то, что при ошибке asprintf не будет его модифицировать (или же таки занулит).