* regex-posix.c (scm_regexp_error_msg): Change `rx' argument to
authorJim Blandy <jimb@red-bean.com>
Mon, 19 Jul 1999 07:52:51 +0000 (07:52 +0000)
committerJim Blandy <jimb@red-bean.com>
Mon, 19 Jul 1999 07:52:51 +0000 (07:52 +0000)
regex_t pointer.  This is what the callers have, mostly.
(scm_regexp_exec): Don't forget to pass the `rx' argument to
scm_regexp_error_msg.

libguile/regex-posix.c

index 3b2af91..aa507b0 100644 (file)
@@ -1,4 +1,4 @@
-/*     Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/*     Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -101,9 +101,7 @@ free_regex (obj)
 SCM_SYMBOL (scm_regexp_error_key, "regular-expression-syntax");
 
 static char *
-scm_regexp_error_msg (regerrno, rx)
-     int regerrno;
-     SCM rx;
+scm_regexp_error_msg (int regerrno, regex_t *rx)
 {
   SCM errmsg;
   int l;
@@ -120,11 +118,11 @@ scm_regexp_error_msg (regerrno, rx)
 
   errmsg = scm_make_string (SCM_MAKINUM (80), SCM_UNDEFINED);
   SCM_DEFER_INTS;
-  l = regerror (regerrno, SCM_RGX (rx), SCM_CHARS (errmsg), 80);
+  l = regerror (regerrno, rx, SCM_CHARS (errmsg), 80);
   if (l > 80)
     {
       errmsg = scm_make_string (SCM_MAKINUM (l), SCM_UNDEFINED);
-      regerror (regerrno, SCM_RGX (rx), SCM_CHARS (errmsg), l);
+      regerror (regerrno, rx, SCM_CHARS (errmsg), l);
     }
   SCM_ALLOW_INTS;
   return SCM_CHARS (errmsg);
@@ -242,7 +240,7 @@ scm_regexp_exec (SCM rx, SCM str, SCM start, SCM flags)
   if (status != 0 && status != REG_NOMATCH)
     scm_error (scm_regexp_error_key,
               s_regexp_exec,
-              scm_regexp_error_msg (status),
+              scm_regexp_error_msg (status, SCM_RGX (rx)),
               SCM_BOOL_F,
               SCM_BOOL_F);
   return mvec;