Commit 66f1fd2ad9f2a4e3172bd07f6d71bb1321b0dce0
1 parent
b0f054e6
Switch user-supplied functions in C API to return int
Showing
4 changed files
with
7 additions
and
11 deletions
examples/qpdfjob-c-save-attachment.c
| ... | ... | @@ -12,11 +12,11 @@ |
| 12 | 12 | // something with QPDFJob. See qpdfjob-c-save-attachment.c for an |
| 13 | 13 | // implementation that uses the C API. |
| 14 | 14 | |
| 15 | -static void | |
| 15 | +static int | |
| 16 | 16 | save_to_file(char const* data, size_t len, void* udata) |
| 17 | 17 | { |
| 18 | 18 | FILE* f = (FILE*)udata; |
| 19 | - fwrite(data, 1, len, f); | |
| 19 | + return fwrite(data, 1, len, f) != len; | |
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | static FILE* | ... | ... |
include/qpdf/qpdflogger-c.h
| ... | ... | @@ -59,7 +59,8 @@ extern "C" { |
| 59 | 59 | qpdf_log_dest_custom = 4, |
| 60 | 60 | }; |
| 61 | 61 | |
| 62 | - typedef void (*qpdf_log_fn_t)(char const* data, size_t len, void* udata); | |
| 62 | + /* Function should return 0 on success. */ | |
| 63 | + typedef int (*qpdf_log_fn_t)(char const* data, size_t len, void* udata); | |
| 63 | 64 | |
| 64 | 65 | QPDF_DLL |
| 65 | 66 | void qpdflogger_set_info( | ... | ... |
libqpdf/qpdflogger-c.cc
| ... | ... | @@ -56,12 +56,7 @@ set_log_dest( |
| 56 | 56 | method(l->discard()); |
| 57 | 57 | break; |
| 58 | 58 | case qpdf_log_dest_custom: |
| 59 | - method(std::make_shared<Pl_Function>( | |
| 60 | - identifier, | |
| 61 | - nullptr, | |
| 62 | - [fn, udata](unsigned char const* data, size_t len) { | |
| 63 | - fn(reinterpret_cast<char const*>(data), len, udata); | |
| 64 | - })); | |
| 59 | + method(std::make_shared<Pl_Function>(identifier, nullptr, fn, udata)); | |
| 65 | 60 | break; |
| 66 | 61 | } |
| 67 | 62 | } | ... | ... |
libtests/logger_c.c
| ... | ... | @@ -8,11 +8,11 @@ |
| 8 | 8 | #include <stdio.h> |
| 9 | 9 | #include <stdlib.h> |
| 10 | 10 | |
| 11 | -static void | |
| 11 | +static int | |
| 12 | 12 | fn(char const* data, size_t len, void* udata) |
| 13 | 13 | { |
| 14 | 14 | FILE* f = (FILE*)udata; |
| 15 | - fwrite(data, 1, len, f); | |
| 15 | + return fwrite(data, 1, len, f) != len; | |
| 16 | 16 | } |
| 17 | 17 | |
| 18 | 18 | static void | ... | ... |