diff options
author | Gary Houston <ghouston@arglist.com> | 1997-08-23 18:49:35 +0000 |
---|---|---|
committer | Gary Houston <ghouston@arglist.com> | 1997-08-23 18:49:35 +0000 |
commit | efb997f535d76323a83c1645fbb594dabf969fb3 (patch) | |
tree | d9ac22c9ce7a659a5460f747e974b8af5f49db66 | |
parent | 1782cc374cdd173341a61571ce926c42a1257f39 (diff) | |
download | guile-efb997f535d76323a83c1645fbb594dabf969fb3.tar.gz |
* errno.h: prototype for scm_strerror.
* error.c (scm_strerror): new procedure.
-rw-r--r-- | libguile/ChangeLog | 5 | ||||
-rw-r--r-- | libguile/error.c | 8 | ||||
-rw-r--r-- | libguile/error.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 57df412c7..182fb3fca 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,8 @@ +Sat Aug 23 18:45:44 1997 Gary Houston <ghouston@actrix.gen.nz> + + * errno.h: prototype for scm_strerror. + * error.c (scm_strerror): new procedure. + Mon Aug 18 14:58:22 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> * list.c (scm_list_append_x): Allow non-pair as last argument. diff --git a/libguile/error.c b/libguile/error.c index 1b2699de4..0fd8d39a3 100644 --- a/libguile/error.c +++ b/libguile/error.c @@ -116,6 +116,14 @@ scm_error_scm (key, subr, message, args, rest) /* not reached. */ } +SCM_PROC (s_strerror, "strerror", 1, 0, 0, scm_strerror); +SCM +scm_strerror (SCM err) +{ + SCM_ASSERT (SCM_INUMP (err), err, SCM_ARG1, s_strerror); + return scm_makfrom0str (strerror (SCM_INUM (err))); +} + SCM_SYMBOL (scm_system_error_key, "system-error"); void scm_syserror (subr) diff --git a/libguile/error.h b/libguile/error.h index 839a30eb7..4560d97fd 100644 --- a/libguile/error.h +++ b/libguile/error.h @@ -65,6 +65,7 @@ extern void (*scm_error_callback) SCM_P ((SCM key, char *subr, char *message, SCM args, SCM rest)); extern SCM scm_error_scm SCM_P ((SCM key, SCM subr, SCM message, SCM args, SCM rest)) SCM_NORETURN; +extern SCM scm_strerror (SCM err); extern void scm_syserror SCM_P ((char *subr)) SCM_NORETURN; extern void scm_syserror_msg SCM_P ((char *subr, char *message, SCM args, int eno)) SCM_NORETURN; |