#include <pakfire/pakfire.h>
#include <pakfire/types.h>
-void pakfire_log_stderr(int priority, const char* file,
+void pakfire_log_stderr(void* data, int priority, const char* file,
int line, const char* fn, const char* format, va_list args);
-void pakfire_log_syslog(int priority, const char* file,
+void pakfire_log_syslog(void* data, int priority, const char* file,
int line, const char* fn, const char* format, va_list args);
#ifdef PAKFIRE_PRIVATE
typedef struct _PakfireRepo* PakfireRepo;
typedef struct _PakfireSolution* PakfireSolution;
-typedef void (*pakfire_log_function_t)(int priority,
- const char* file, int line, const char* fn,
- const char* format, va_list args);
+typedef void (*pakfire_log_function_t)(void* data, int priority, const char* file,
+ int line, const char* fn, const char* format, va_list args);
enum _pakfire_comparison_types {
PAKFIRE_ICASE = 1 << 0,
#include <pakfire/private.h>
-PAKFIRE_EXPORT void pakfire_log_stderr(int priority, const char* file,
+PAKFIRE_EXPORT void pakfire_log_stderr(void* data, int priority, const char* file,
int line, const char* fn, const char* format, va_list args) {
fprintf(stderr, "pakfire: ");
vfprintf(stderr, format, args);
}
-PAKFIRE_EXPORT void pakfire_log_syslog(int priority, const char* file,
+PAKFIRE_EXPORT void pakfire_log_syslog(void* data, int priority, const char* file,
int line, const char* fn, const char* format, va_list args) {
openlog("pakfire", LOG_PID, LOG_DAEMON);
vsyslog(priority | LOG_DAEMON, format, args);
int saved_errno = errno;
va_start(args, format);
- pakfire->log_function(priority, file, line, fn, format, args);
+ pakfire->log_function(pakfire->log_data, priority, file, line, fn, format, args);
va_end(args);
// Restore errno