On 22.04.2013 15:47, Anton Yuzhaninov wrote:
> On 04/22/13 12:35, Eugene Grosbein wrote:
>>>> При неправильном использовании setvbuf легко получить мусор на выходе:
>>>> https://bitbucket.org/ripencc/bgpdump/issue/12/binary-garbage-at-the-end-of-output
>> Мне это кажется проблемой линуксовой реализации setvbuf.
>>
> 
> Под FreeBSD у меня тоже был мусор (сейчас использую bgpdump с патчиком 
> выкидывающим setvbuf).
> 
> Но у меня была проблема со STDOUT. В случае если писать файл, который 
> закрывается до завершения программы, такой проблемы наверно не будет.

А, ну да. Это не проблема реализации. Это, действительно, неправильное 
использование -
выделять буфер в стеке и передавать его адрес глобально работающей подсистеме
идея не очень умная. static выделяет буфер в глобальном сегменте данных вместо 
стека.


Ответить