#include <glib.h>
#define CAML_NAME_SPACE
#include <caml/custom.h>
#include "wrappers.h"
#include "ml_glib.h"
#define GPatternSpec_val(v) (* (GPatternSpec **) Data_custom_val(v))
static void
ml_g_pattern_spec_finalize (value v)
{
GPatternSpec *s = GPatternSpec_val(v);
g_pattern_spec_free (s);
}
static value
ml_wrap_g_pattern_spec (GPatternSpec *s)
{
static const struct custom_operations g_pattern_spec_ops = {
"GPatternSpec", ml_g_pattern_spec_finalize,
custom_compare_default, custom_hash_default,
custom_serialize_default, custom_deserialize_default };
GPatternSpec **p;
value v;
v = caml_alloc_custom ((struct custom_operations *) &g_pattern_spec_ops,
sizeof (GPatternSpec *),
1, 100);
p = Data_custom_val(v);
*p = s;
return v;
}
ML_1 (g_pattern_spec_new, String_val, ml_wrap_g_pattern_spec)
CAMLprim value
ml_g_pattern_match (value p, value s)
{
return Val_bool (g_pattern_match (GPatternSpec_val (p),
caml_string_length (s),
String_val (s), NULL));
}
syntax highlighted by Code2HTML, v. 0.9.1