in watchman.c [68:92]
static void watchman_err(struct watchman_error *error,
enum watchman_error_code code,
const char *message, ...)
__attribute__ ((format(printf, 3, 4)));
static void
watchman_err(struct watchman_error *error, enum watchman_error_code code,
const char *message, ...)
{
if (!error)
return;
va_list argptr;
va_start(argptr, message);
char c;
int len = vsnprintf(&c, 1, message, argptr);
warning(message, argptr);
va_end(argptr);
error->message = malloc(len + 1);
error->code = code;
error->err_no = errno;
va_start(argptr, message);
vsnprintf(error->message, len + 1, message, argptr);
va_end(argptr);
}