pakfire->callbacks.log_data = data;
}
+// XXX This function is deprecated and needs to be removed
void pakfire_log(struct pakfire* pakfire, int priority, int r,
const char* file, int line, const char* fn, const char* format, ...) {
+ char* buffer = NULL;
va_list args;
- // Do not do anything if callback isn't set
- if (!pakfire->callbacks.log)
- return;
-
// Save errno
int saved_errno = errno;
if (r)
errno = r;
va_start(args, format);
- pakfire->callbacks.log(pakfire->callbacks.log_data,
- priority, file, line, fn, format, args);
+ r = vasprintf(&buffer, format, args);
va_end(args);
// Restore errno
errno = saved_errno;
+
+ if (r < 0)
+ return;
+
+ // Pass on to the context logger
+ pakfire_ctx_log(pakfire->ctx, priority, file, line, fn, "%s", buffer);
}
// UI