Unreachable code in charset set operator
authorMichael Gran <spk121@yahoo.com>
Wed, 2 Sep 2009 13:21:40 +0000 (06:21 -0700)
committerMichael Gran <spk121@yahoo.com>
Wed, 2 Sep 2009 13:28:55 +0000 (06:28 -0700)
* libguile/srfi-14.c (scm_i_charset_set): remove unreachable code
  in scm_i_charset_set

libguile/srfi-14.c

index e99a722..7dc04f1 100644 (file)
@@ -86,18 +86,11 @@ scm_i_charset_set (scm_t_char_set *cs, scm_t_wchar n)
           /* This char is one below the current range. */
           if (i > 0 && cs->ranges[i - 1].hi + 1 == n)
             {
-              /* It is also one above the previous range, so combine them.  */
-              cs->ranges[i - 1].hi = cs->ranges[i].hi;
-              if (i < len - 1)
-                memmove (cs->ranges + i, cs->ranges + (i + 1),
-                         sizeof (scm_t_char_range) * (len - i - 1));
-              cs->ranges = scm_gc_realloc (cs->ranges,
-                                           sizeof (scm_t_char_range) * len,
-                                           sizeof (scm_t_char_range) * (len -
-                                                                        1),
-                                           "character-set");
-              cs->len = len - 1;
-              return;
+              /* It is also one above the previous range.  */
+              /* This is an impossible condition: in the previous
+                 iteration, the test for 'one above the current range'
+                 should already have inserted the character here.  */
+              abort ();
             }
           else
             {