summary refs log tree commit diff stats
path: root/include/qapi/error-internal.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-05-26 09:25:50 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2025-06-05 20:24:51 +0200
commit230a4894f45eac5fbd6bea8dc0dd54f84cf6c0fa (patch)
tree171081e885e1d52583ff069a14787c72a0715109 /include/qapi/error-internal.h
parent8714d366e7e29d3ca8cebc8504e18c4cd7b5cf48 (diff)
downloadfocaccia-qemu-230a4894f45eac5fbd6bea8dc0dd54f84cf6c0fa.tar.gz
focaccia-qemu-230a4894f45eac5fbd6bea8dc0dd54f84cf6c0fa.zip
util/error: allow non-NUL-terminated err->src
Rust makes the current file available as a statically-allocated string,
but without a NUL terminator.  Allow this by storing an optional maximum
length in the Error.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qapi/error-internal.h')
-rw-r--r--include/qapi/error-internal.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/qapi/error-internal.h b/include/qapi/error-internal.h
index d5c3904ade..1ec3ceb40f 100644
--- a/include/qapi/error-internal.h
+++ b/include/qapi/error-internal.h
@@ -18,7 +18,14 @@ struct Error
 {
     char *msg;
     ErrorClass err_class;
-    const char *src, *func;
+    const char *func;
+
+    /*
+     * src might be NUL-terminated or not.  If it is, src_len is negative.
+     * If it is not, src_len is the length.
+     */
+    const char *src;
+    int src_len;
     int line;
     GString *hint;
 };