sprintf やフレンド (セキュリティ上の理由) などで固定バッファー サイズを使用しないようにしていますが、arg2 -> arg1 に sizeof を使用するように変更すると、プログラムのテキスト出力が破損する / 正しく表示されない /特定の部品が欠落しています。
具体的には、次のとおりです。
vsnprintf(putbuf, LARGE_BIG_BUFFER_SIZE, format, args);
に
vsnprintf(putbuf, sizeof putbuf, format, args);
単純な sizeof の変更で、テキスト出力がすべて壊れたり短くなったりします。何か不足していますか?
元の機能:
to_screen(const char *format,...)
{
if (window_display && format) {
va_list args;
va_start(args, format);
vsnprintf(putbuf, LARGE_BIG_BUFFER_SIZE, format, args);
va_end(args);
}
}