diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-06-11 10:16:10 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-07-10 18:33:51 +0200 |
| commit | ed7f6da282e263403badb507b2532f51f8ed31cf (patch) | |
| tree | 9aad5c69f9f88f2a0017de8c3f66988ebd9fd7e2 /util/log.c | |
| parent | a721d9a9f3dd7bb9d6ed81ea1a11a1157755741c (diff) | |
| download | focaccia-qemu-ed7f6da282e263403badb507b2532f51f8ed31cf.tar.gz focaccia-qemu-ed7f6da282e263403badb507b2532f51f8ed31cf.zip | |
rust/qemu-api: log: implement io::Write
This makes it possible to lock the log file; it also makes log_mask_ln! not allocate memory when logging a constant string. Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'util/log.c')
| -rw-r--r-- | util/log.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/util/log.c b/util/log.c index b87d399e4c..58d24de48a 100644 --- a/util/log.c +++ b/util/log.c @@ -558,3 +558,15 @@ void qemu_print_log_usage(FILE *f) fprintf(f, "\nUse \"-d trace:help\" to get a list of trace events.\n\n"); #endif } + +#ifdef CONFIG_HAVE_RUST +ssize_t rust_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) +{ + /* + * Same as fwrite, but return -errno because Rust libc does not provide + * portable access to errno. :( + */ + int ret = fwrite(ptr, size, nmemb, stream); + return ret < 0 ? -errno : 0; +} +#endif |