diff --git a/generator/daemon.ml b/generator/daemon.ml index 0218d3e50..d9f22c518 100644 --- a/generator/daemon.ml +++ b/generator/daemon.ml @@ -611,6 +611,7 @@ let generate_daemon_caml_stubs () = #include #include #include +#include #include #include @@ -646,9 +647,12 @@ let generate_daemon_caml_stubs () = fun i -> pr " v = Field (retv, %d);\n" i; function - | n, (FString|FDevice|FUUID) -> + | n, (FString|FDevice) -> pr " ret->%s = strdup (String_val (v));\n" n; pr " if (ret->%s == NULL) return NULL;\n" n + | n, FUUID -> + pr " assert (caml_string_length (v) == sizeof ret->%s);\n" n; + pr " memcpy (ret->%s, String_val (v), sizeof ret->%s);\n" n n | n, FBuffer -> pr " ret->%s_len = caml_string_length (v);\n" n; pr " ret->%s = strdup (String_val (v));\n" n;