_ エラー出力用マクロで可変長引数を使わずに__FILE__や__LINE__を埋め込む Subversionのコードを読んでいて、GCC拡張やC99の可変長引数マクロを使わずに、 エラー出力用マクロで__FILE__や__LINE__を埋め込む方法を発見。 まず、次のようにエラー出力用の関数を用意しておく。 error.c: #include <stdio.h> #include <stdarg.h> static const char *error_file = NULL; static int error_line = -1; void my_error_locate(const char *file, int line) { error_file = file; error_line = line; } void my_error(const char *fmt, ...) { v