This was not permitted by the API before, but would in some
circumstances work.
---
 generator/generator | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/generator/generator b/generator/generator
index 7f97163..01da1c3 100755
--- a/generator/generator
+++ b/generator/generator
@@ -3664,6 +3664,16 @@ let generate_lib_api_c () =
     in
     List.iter (
       function
+      | Closure { cbname } ->
+         let value = match errcode with
+           | Some value -> value
+           | None -> assert false in
+         pr "  if (%s_callback == NULL) {\n" cbname;
+         pr "    set_error (EFAULT, \"%%s cannot be NULL\", \"%s\");\n" cbname;
+         pr "    ret = %s;\n" value;
+         pr "    goto out;\n";
+         pr "  }\n";
+         need_out_label := true
       | Enum (n, { enum_prefix; enums }) ->
          let value = match errcode with
            | Some value -> value
-- 
2.22.0

_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to