guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/srfi ChangeLog srfi-14.c


From: Gary Houston
Subject: guile/guile-core/srfi ChangeLog srfi-14.c
Date: Sun, 15 Jul 2001 11:55:45 -0700

CVSROOT:        /cvs
Module name:    guile
Branch:         branch_release-1-6
Changes by:     Gary Houston <address@hidden>   01/07/15 11:55:45

Modified files:
        guile-core/srfi: ChangeLog srfi-14.c 

Log message:
        (scm_char_set_hash): bug fix: was overrunning the buffer and
        calculating based on garbage.
        (scm_char_set_eq, scm_char_set_leq): fix argument number in error
        reporting: wasn't incremented due to macro coding.
        (scm_char_set): report argument number in error reporting: was
        hard coded to 1.  remove a couple of local variables.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/srfi/ChangeLog.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.44.2.5&tr2=1.44.2.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/srfi/srfi-14.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.9.2.3&tr2=1.9.2.4&r1=text&r2=text

Patches:
Index: guile/guile-core/srfi/ChangeLog
diff -u guile/guile-core/srfi/ChangeLog:1.49 
guile/guile-core/srfi/ChangeLog:1.50
--- guile/guile-core/srfi/ChangeLog:1.49        Sun Jul 15 08:16:30 2001
+++ guile/guile-core/srfi/ChangeLog     Sun Jul 15 11:54:28 2001
@@ -3,6 +3,12 @@
        * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
        opt arg to give default bound, as in final spec.  don't allow
        negative bounds.
+       (scm_char_set_hash): bug fix: was overrunning the buffer and
+       calculating based on garbage.
+       (scm_char_set_eq, scm_char_set_leq): fix argument number in error
+       reporting: wasn't incremented due to macro coding.
+       (scm_char_set): report argument number in error reporting: was
+       hard coded to 1.  remove a couple of local variables.
 
 2001-07-13  Marius Vollmer  <address@hidden>
 
Index: guile/guile-core/srfi/srfi-14.c
diff -u guile/guile-core/srfi/srfi-14.c:1.12 
guile/guile-core/srfi/srfi-14.c:1.13
--- guile/guile-core/srfi/srfi-14.c:1.12        Sun Jul 15 08:16:31 2001
+++ guile/guile-core/srfi/srfi-14.c     Sun Jul 15 11:54:28 2001
@@ -126,7 +126,8 @@
       SCM csi = SCM_CAR (char_sets);
       long *csi_data;
 
-      SCM_VALIDATE_SMOB (argnum++, csi, charset);
+      SCM_VALIDATE_SMOB (argnum, csi, charset);
+      argnum++;
       csi_data = (long *) SCM_SMOB_DATA (csi);
       if (cs1_data == NULL)
        cs1_data = csi_data;
@@ -155,7 +156,8 @@
       SCM csi = SCM_CAR (char_sets);
       long *csi_data;
 
-      SCM_VALIDATE_SMOB (argnum++, csi, charset);
+      SCM_VALIDATE_SMOB (argnum, csi, charset);
+      argnum++;
       csi_data = (long *) SCM_SMOB_DATA (csi);
       if (prev_data)
        {
@@ -200,7 +202,7 @@
     }
 
   p = (long *) SCM_SMOB_DATA (cs);
-  for (k = 0; k < SCM_CHARSET_SIZE - 1; k++)
+  for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
     {
       val = p[k] ^ val;
     }
@@ -458,21 +460,20 @@
            "Return a character set containing all given characters.")
 #define FUNC_NAME s_scm_char_set
 {
-  SCM cs, ls;
+  SCM cs;
   long * p;
+  int argnum = 1;
 
   SCM_VALIDATE_REST_ARGUMENT (rest);
-  ls = rest;
   cs = make_char_set (FUNC_NAME);
   p = (long *) SCM_SMOB_DATA (cs);
-  while (!SCM_NULLP (ls))
+  while (!SCM_NULLP (rest))
     {
-      SCM chr = SCM_CAR (ls);
       int c;
-
-      SCM_VALIDATE_CHAR_COPY (1, chr, c);
-      ls = SCM_CDR (ls);
 
+      SCM_VALIDATE_CHAR_COPY (argnum, SCM_CAR (rest), c);
+      argnum++;
+      rest = SCM_CDR (rest);
       p[c / sizeof (long)] |= 1 << (c % sizeof (long));
     }
   return cs;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]