From ee0d96fd180b235d4e87019d69e07cefde1e5546 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 13 Jul 2020 02:12:47 +0200 Subject: Remove unecessary dummy callback --- program.c | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) (limited to 'program.c') diff --git a/program.c b/program.c index 299b829..8e980ab 100644 --- a/program.c +++ b/program.c @@ -11,13 +11,6 @@ #define READ_END 0 #define WRITE_END 1 -int program_empty_callback(char *data, int size, void *userdata) { - (void)data; - (void)size; - (void)userdata; - return 0; -} - int program_exec(const char **args, ProgramOutputCallback output_callback, void *userdata) { /* 1 arguments */ if(args[0] == NULL) @@ -60,20 +53,22 @@ int program_exec(const char **args, ProgramOutputCallback output_callback, void char buffer[4097]; - for(;;) { - ssize_t bytes_read = read(fd[READ_END], buffer, sizeof(buffer) - 1); - if(bytes_read == 0) { - break; - } else if(bytes_read == -1) { - int err = errno; - fprintf(stderr, "Failed to read from pipe to program %s, error: %s\n", args[0], strerror(err)); - result = -err; - goto cleanup; + if(output_callback) { + for(;;) { + ssize_t bytes_read = read(fd[READ_END], buffer, sizeof(buffer) - 1); + if(bytes_read == 0) { + break; + } else if(bytes_read == -1) { + int err = errno; + fprintf(stderr, "Failed to read from pipe to program %s, error: %s\n", args[0], strerror(err)); + result = -err; + goto cleanup; + } + + buffer[bytes_read] = '\0'; + if(output_callback(buffer, bytes_read, userdata) != 0) + break; } - - buffer[bytes_read] = '\0'; - if(output_callback && output_callback(buffer, bytes_read, userdata) != 0) - break; } if(waitpid(pid, &status, 0) == -1) { -- cgit v1.2.3