blob: b7ffd242015243ef405d957b0ca3a22c7bed0c3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <string.h>
#include "caml/memory.h"
#include "caml/alloc.h"
#include "caml/mlvalues.h"
#include "caml/fail.h"
char *some_dynamic_string_that_should_be_freed()
{
return strdup("bar");
}
CAMLexport value dynamic_invalid_argument(value unit)
{
CAMLparam1(unit);
char *dynamic_msg = some_dynamic_string_that_should_be_freed();
value msg = caml_copy_string(dynamic_msg);
free(dynamic_msg);
caml_invalid_argument_value(msg);
CAMLnoreturn;
}
|