On Mar 14, 2007, at 11:48 AM, Alex Queiroz wrote:
Hallo,
On 14 Mar 2007 15:38:46 -0300, Mario Domenech Goulart
<[EMAIL PROTECTED]> wrote:
Is the return value one of the functionalities which depend on the
capabilities of the host shell? Or the documentation should mention
that the return value of `system' corresponds to the exit status of
the process which was executed?
ANSI C does not guarantee that. You can't really say much about
the return value of system.
I think ISO C90 says system should return -1 on error.
Anyway, Chicken 'system' procedure will return the errno value if the
C 'system' call returns -1. Otherwise it depends:
*nix WIFEXITED(n) ? WEXITSTATUS(n) : (WIFSIGNALED(n) ? WTERMSIG(n) :
WSTOPSIG(n))
Not sure how the C 'system' call return value of 127 (for shell
failed to exec)
is represented in the return value.
! *nix C 'system' call return value. On Windows this is the value
returned by the shell.
IMHO this means the return value is almost useless w/o some hoops;
i.e. if 'errno' == the return value the return value is error value,
but differentiating an exit-status from a signal-code is probably
impossible.
Best Wishes,
Kon
--
-alex
http://www.ventonegro.org/
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users