static PyObject* Pakfire_execute_logging_callback = NULL;
static int __Pakfire_execute_logging_callback(Pakfire pakfire, void* data,
- int priority, const char* line) {
+ int priority, const char* line, size_t length) {
int r = 0;
// Do nothing if callback isn't set
line[length] = '\0';
// Log the line
- int r = logging_callback(pakfire, data, priority, line);
+ int r = logging_callback(pakfire, data, priority, line, length);
if (r) {
ERROR(pakfire, "The logging callback returned an error: %d\n", r);
return r;
return r;
}
-static int default_logging_callback(Pakfire pakfire, void* data, int priority, const char* line) {
+static int default_logging_callback(Pakfire pakfire, void* data, int priority,
+ const char* line, size_t length) {
switch (priority) {
case LOG_INFO:
INFO(pakfire, "%s", line);
#include <pakfire/types.h>
typedef int (*pakfire_execute_logging_callback)(Pakfire pakfire, void* data,
- int priority, const char* line);
+ int priority, const char* line, size_t length);
int pakfire_execute(Pakfire pakfire, const char* argv[], char* envp[],
int flags, pakfire_execute_logging_callback logging_callback, void* data);