diff options
author | Andy Wingo <wingo@pobox.com> | 2009-01-12 21:36:39 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-01-12 21:36:39 +0100 |
commit | c32929d14d40f9e00c3fd10d3f51d54733ebf687 (patch) | |
tree | c803163a177580b5a8506052a18664a48504ba00 /libguile/posix.c | |
parent | c41350777d6faf05f80627f97ca01cd5c8fac47b (diff) | |
parent | dc686d7b0a1490e26482e018489dec040b79b952 (diff) | |
download | guile-c32929d14d40f9e00c3fd10d3f51d54733ebf687.tar.gz |
Merge commit 'origin/master' into vm
Conflicts:
.gitignore
guile-tools.in
srfi/srfi-19.scm
Diffstat (limited to 'libguile/posix.c')
-rw-r--r-- | libguile/posix.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libguile/posix.c b/libguile/posix.c index abcf77fcf..00e0fa1a3 100644 --- a/libguile/posix.c +++ b/libguile/posix.c @@ -277,7 +277,7 @@ SCM_DEFINE (scm_getgroups, "getgroups", 0, 0, 0, size = ngroups * sizeof (GETGROUPS_T); groups = scm_malloc (size); - getgroups (ngroups, groups); + ngroups = getgroups (ngroups, groups); result = scm_c_make_vector (ngroups, SCM_BOOL_F); while (--ngroups >= 0) @@ -1563,12 +1563,15 @@ SCM_DEFINE (scm_nice, "nice", 1, 0, 0, "The return value is unspecified.") #define FUNC_NAME s_scm_nice { + int nice_value; + /* nice() returns "prio-NZERO" on success or -1 on error, but -1 can arise from "prio-NZERO", so an error must be detected from errno changed */ errno = 0; - nice (scm_to_int (incr)); + nice_value = nice (scm_to_int (incr)); if (errno != 0) SCM_SYSERROR; + return SCM_UNSPECIFIED; } #undef FUNC_NAME |