summaryrefslogtreecommitdiff
path: root/libguile/srfi-14.c
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2009-09-02 06:03:28 -0700
committerMichael Gran <spk121@yahoo.com>2009-09-02 06:28:20 -0700
commit693e72891f28a1e009bd4661711d11d8f2b0e201 (patch)
tree3477ad477dc55734c9eb4bb2092f539b0e55a80f /libguile/srfi-14.c
parent7165abeba8e97358410146a36c12b2a5fa5e2463 (diff)
downloadguile-693e72891f28a1e009bd4661711d11d8f2b0e201.tar.gz
char-set-any improperly unpacks charset data
* libguile/srfi-14.c (scm_char_set_any): unpack the charset correctly
Diffstat (limited to 'libguile/srfi-14.c')
-rw-r--r--libguile/srfi-14.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libguile/srfi-14.c b/libguile/srfi-14.c
index d8f828318..218ab36fc 100644
--- a/libguile/srfi-14.c
+++ b/libguile/srfi-14.c
@@ -1495,7 +1495,9 @@ SCM_DEFINE (scm_char_set_any, "char-set-any", 2, 0, 0,
SCM_VALIDATE_PROC (1, pred);
SCM_VALIDATE_SMOB (2, cs, charset);
- cs_data = (scm_t_char_set *) cs;
+ cs_data = SCM_CHARSET_DATA (cs);
+ if (cs_data->len == 0)
+ return SCM_BOOL_T;
for (k = 0; k < cs_data->len; k++)
for (n = cs_data->ranges[k].lo; n <= cs_data->ranges[k].hi; n++)