2011/8/7 Erik de Castro Lopo <[email protected]>: > Hi all, Hi,
> I'm writing a C stub function to allow the calling of a C library > function from ocaml. The return from the stub is a tuple and I'm > doing this: > > /* Package up the result as a tuple. */ > v_response = caml_alloc_tuple (3) ; > > Store_field (v_response, 0, Val_int (width)) ; > Store_field (v_response, 1, Val_int (height)) ; > Store_field (v_response, 2, caml_copy_string (code)) ; > > CAMLreturn (v_response) ; > > The above works now, but didn't work when I was using > caml_copy_nativeint() instead of Val_int() and I'd like to know > why. I found it especially confusing because caml_copy_string() > worked and was obvioulsy the right thing to do. Reading very briefly the headers. is seems to me that intnat = value = long. Could it be that on the arch you're using sizeof(int) < sizeof(long) ? Romain -- Caml-list mailing list. Subscription management and archives: https://sympa-roc.inria.fr/wws/info/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
