[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Lars Nilsson <lazarus13@h...> |
| Subject: | Re: [Caml-list] void/unit in C calls |
>It makes a difference: you should always return Val_unit from
>unit-functions implemented in C. Otherwise you might find obscure
>things like:
>
> foo () <> ()
>
>Or worse... - somebody reported to me that he sometimes saw programs
>crash, though it isn't certain that this was the cause.
Does this indicate an error in the O'Caml manual, section 18.5.1, where
void foo(value v1, value v2, value v3)
{
CAMLparam3(v1, v2, v3);
CAMLreturn0;
}
is used, in addition to a paragraph preceeding it in the same section saying
"If your C function is a procedure you must insert CAMLreturn0 at the end"?
In fact, CAMLreturn0 existing at all seems to imply the fact that
unit-returning functions (from O'Caml's point of view) can be void in the C
implementation.
Lars
_________________________________________________________________
Say “good-bye” to spam, viruses and pop-ups with MSN Premium -- free trial
offer! http://click.atdmt.com/AVE/go/onm00200359ave/direct/01/
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners