* errno.h: prototype for scm_strerror.
authorGary Houston <ghouston@arglist.com>
Sat, 23 Aug 1997 18:49:35 +0000 (18:49 +0000)
committerGary Houston <ghouston@arglist.com>
Sat, 23 Aug 1997 18:49:35 +0000 (18:49 +0000)
* error.c (scm_strerror): new procedure.

libguile/ChangeLog
libguile/error.c
libguile/error.h

index 57df412..182fb3f 100644 (file)
@@ -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.
index 1b2699d..0fd8d39 100644 (file)
@@ -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)
index 839a30e..4560d97 100644 (file)
@@ -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;