* Replaced some calls to SCM_LENGTH.
+2000-10-09 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * filesys.c (fill_select_type, retrieve_select_type, scm_select),
+ gh_data.c (gh_set_substr, gh_scm2chars, gh_scm2shorts,
+ gh_scm2longs, gh_scm2floats, gh_scm2doubles, gh_symbol2newstr),
+ stime.c (bdtime2c), symbols.c (scm_sym2vcell, scm_sym2ovcell_soft,
+ scm_intern_obarray_soft, scm_symbol_to_string, scm_intern_symbol,
+ scm_unintern_symbol, copy_and_prune_obarray, scm_builtin_bindings,
+ scm_builtin_weak_bindings), validate.h (SCM_VALIDATE_VECTOR_LEN):
+ Replace SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+ * filesys.c (scm_dirname, scm_basename), gh_data.c (gh_scm2newstr,
+ gh_get_substr), posix.c (scm_putenv), regex-posix.c
+ (scm_regexp_exec), stime.c (setzone), symbols.c
+ (scm_string_to_symbol): Don't accept symbols as input parameters
+ any more.
+
2000-10-09 Dirk Herrmann <D.Herrmann@tu-bs.de>
* continuations.c (scm_make_cont, copy_stack_and_call,
if (SCM_VECTORP (list_or_vec))
{
- int i = SCM_LENGTH (list_or_vec);
+ int i = SCM_VECTOR_LENGTH (list_or_vec);
SCM *ve = SCM_VELTS (list_or_vec);
while (--i >= 0)
if (SCM_VECTORP (list_or_vec))
{
- int i = SCM_LENGTH (list_or_vec);
+ int i = SCM_VECTOR_LENGTH (list_or_vec);
SCM *ve = SCM_VELTS (list_or_vec);
while (--i >= 0)
if (SCM_VECTORP (reads))
{
- read_count = SCM_LENGTH (reads);
+ read_count = SCM_VECTOR_LENGTH (reads);
}
else
{
}
if (SCM_VECTORP (writes))
{
- write_count = SCM_LENGTH (writes);
+ write_count = SCM_VECTOR_LENGTH (writes);
}
else
{
}
if (SCM_VECTORP (excepts))
{
- except_count = SCM_LENGTH (excepts);
+ except_count = SCM_VECTOR_LENGTH (excepts);
}
else
{
#define FUNC_NAME s_scm_dirname
{
char *s;
- int i, len;
- SCM_VALIDATE_ROSTRING (1,filename);
+ long int i;
+ unsigned long int len;
+
+ SCM_VALIDATE_STRING (1,filename);
+
s = SCM_ROCHARS (filename);
- len = SCM_LENGTH (filename);
+ len = SCM_STRING_LENGTH (filename);
+
i = len - 1;
while (i >= 0 && s[i] == '/') --i;
while (i >= 0 && s[i] != '/') --i;
{
char *f, *s = 0;
int i, j, len, end;
- SCM_VALIDATE_ROSTRING (1,filename);
- SCM_ASSERT (SCM_UNBNDP (suffix)
- || (SCM_ROSTRINGP (suffix)),
- suffix,
- SCM_ARG2,
- FUNC_NAME);
+
+ SCM_VALIDATE_STRING (1,filename);
f = SCM_ROCHARS (filename);
+ len = SCM_STRING_LENGTH (filename);
+
if (SCM_UNBNDP (suffix))
j = -1;
else
{
+ SCM_VALIDATE_STRING (2, suffix);
s = SCM_ROCHARS (suffix);
- j = SCM_LENGTH (suffix) - 1;
+ j = SCM_STRING_LENGTH (suffix) - 1;
}
- len = SCM_LENGTH (filename);
i = len - 1;
while (i >= 0 && f[i] == '/') --i;
end = i;
"gh_set_substr");
dst_ptr = SCM_STRING_CHARS (dst);
- dst_len = SCM_LENGTH (dst);
+ dst_len = SCM_STRING_LENGTH (dst);
SCM_ASSERT (len >= 0 && (unsigned) len <= dst_len,
dst, SCM_ARG4, "gh_set_substr");
{
case scm_tc7_vector:
case scm_tc7_wvect:
- n = SCM_LENGTH (obj);
+ n = SCM_VECTOR_LENGTH (obj);
for (i = 0; i < n; ++i)
{
val = SCM_VELTS (obj)[i];
{
case scm_tc7_vector:
case scm_tc7_wvect:
- n = SCM_LENGTH (obj);
+ n = SCM_VECTOR_LENGTH (obj);
for (i = 0; i < n; ++i)
{
val = SCM_VELTS (obj)[i];
break;
#ifdef HAVE_ARRAYS
case scm_tc7_svect:
- n = SCM_LENGTH (obj);
+ n = SCM_UVECTOR_LENGTH (obj);
if (m == 0)
m = (short *) malloc (n * sizeof (short));
memcpy (m, SCM_VELTS (obj), n * sizeof (short));
{
case scm_tc7_vector:
case scm_tc7_wvect:
- n = SCM_LENGTH (obj);
+ n = SCM_VECTOR_LENGTH (obj);
for (i = 0; i < n; ++i)
{
val = SCM_VELTS (obj)[i];
#ifdef HAVE_ARRAYS
case scm_tc7_ivect:
case scm_tc7_uvect:
- n = SCM_LENGTH (obj);
+ n = SCM_UVECTOR_LENGTH (obj);
if (m == 0)
m = (long *) malloc (n * sizeof (long));
memcpy (m, SCM_VELTS (obj), n * sizeof (long));
{
case scm_tc7_vector:
case scm_tc7_wvect:
- n = SCM_LENGTH (obj);
+ n = SCM_VECTOR_LENGTH (obj);
for (i = 0; i < n; ++i)
{
val = SCM_VELTS (obj)[i];
break;
#ifdef HAVE_ARRAYS
case scm_tc7_fvect:
- n = SCM_LENGTH (obj);
+ n = SCM_UVECTOR_LENGTH (obj);
if (m == 0)
m = (float *) malloc (n * sizeof (float));
memcpy (m, (float *) SCM_VELTS (obj), n * sizeof (float));
break;
case scm_tc7_dvect:
- n = SCM_LENGTH (obj);
+ n = SCM_UVECTOR_LENGTH (obj);
if (m == 0)
m = (float*) malloc (n * sizeof (float));
for (i = 0; i < n; ++i)
{
case scm_tc7_vector:
case scm_tc7_wvect:
- n = SCM_LENGTH (obj);
+ n = SCM_VECTOR_LENGTH (obj);
for (i = 0; i < n; ++i)
{
val = SCM_VELTS (obj)[i];
break;
#ifdef HAVE_ARRAYS
case scm_tc7_fvect:
- n = SCM_LENGTH (obj);
+ n = SCM_UVECTOR_LENGTH (obj);
if (m == 0)
m = (double *) malloc (n * sizeof (double));
for (i = 0; i < n; ++i)
break;
case scm_tc7_dvect:
- n = SCM_LENGTH (obj);
+ n = SCM_UVECTOR_LENGTH (obj);
if (m == 0)
m = (double*) malloc (n * sizeof (double));
memcpy (m, SCM_VELTS (obj), n * sizeof (double));
char *ret_str;
int len;
- SCM_ASSERT (SCM_ROSTRINGP (str), str, SCM_ARG3,
- "gh_scm2newstr");
+ SCM_ASSERT (SCM_STRINGP (str), str, SCM_ARG3, "gh_scm2newstr");
/* protect str from GC while we copy off its data */
scm_protect_object (str);
- len = SCM_LENGTH (str);
+ len = SCM_STRING_LENGTH (str);
ret_str = (char *) scm_must_malloc ((len + 1) * sizeof (char),
"gh_scm2newstr");
gh_get_substr (SCM src, char *dst, int start, int len)
{
int src_len, effective_length;
- SCM_ASSERT (SCM_ROSTRINGP (src), src, SCM_ARG3,
- "gh_get_substr");
+ SCM_ASSERT (SCM_STRINGP (src), src, SCM_ARG3, "gh_get_substr");
scm_protect_object (src);
- src_len = SCM_LENGTH (src);
+ src_len = SCM_STRING_LENGTH (src);
effective_length = (len < src_len) ? len : src_len;
memcpy (dst + start, SCM_ROCHARS (src), effective_length * sizeof (char));
/* FIXME: must signal an error if len > src_len */
/* protect str from GC while we copy off its data */
scm_protect_object (sym);
- len = SCM_LENGTH (sym);
+ len = SCM_SYMBOL_LENGTH (sym);
ret_str = (char *) scm_must_malloc ((len + 1) * sizeof (char),
"gh_symbol2newstr");
int rv;
char *ptr;
- SCM_VALIDATE_ROSTRING (1,str);
+ SCM_VALIDATE_STRING (1, str);
/* must make a new copy to be left in the environment, safe from gc. */
- ptr = malloc (SCM_LENGTH (str) + 1);
+ ptr = malloc (SCM_STRING_LENGTH (str) + 1);
if (ptr == NULL)
SCM_MEMORY_ERROR;
- strncpy (ptr, SCM_ROCHARS (str), SCM_LENGTH (str));
- ptr[SCM_LENGTH(str)] = 0;
+ strncpy (ptr, SCM_ROCHARS (str), SCM_STRING_LENGTH (str));
+ ptr[SCM_STRING_LENGTH (str)] = 0;
rv = putenv (ptr);
if (rv < 0)
SCM_SYSERROR;
SCM mvec = SCM_BOOL_F;
SCM_VALIDATE_RGXP (1,rx);
- SCM_VALIDATE_ROSTRING (2,str);
+ SCM_VALIDATE_STRING (2,str);
SCM_VALIDATE_INUM_DEF_COPY (3,start,0,offset);
- SCM_ASSERT_RANGE (3,start,offset >= 0 && (unsigned) offset <= SCM_LENGTH (str));
+ SCM_ASSERT_RANGE (3,start, offset >= 0 && offset <= SCM_STRING_LENGTH (str));
if (SCM_UNBNDP (flags))
flags = SCM_INUM0;
SCM_VALIDATE_INUM (4,flags);
static char *tmpenv[2];
char *buf;
- SCM_ASSERT (SCM_ROSTRINGP (zone), zone, pos, subr);
+ SCM_ASSERT (SCM_STRINGP (zone), zone, pos, subr);
SCM_COERCE_SUBSTR (zone);
- buf = scm_must_malloc (SCM_LENGTH (zone) + sizeof (tzvar) + 1,
- subr);
+ buf = scm_must_malloc (SCM_STRING_LENGTH (zone) + sizeof (tzvar) + 1, subr);
sprintf (buf, "%s=%s", tzvar, SCM_ROCHARS (zone));
oldenv = environ;
tmpenv[0] = buf;
int i;
SCM_ASSERT (SCM_VECTORP (sbd_time)
- && SCM_LENGTH (sbd_time) == 11,
+ && SCM_VECTOR_LENGTH (sbd_time) == 11,
sbd_time, pos, subr);
velts = SCM_VELTS (sbd_time);
for (i = 0; i < 10; i++)
SCM * lsymp;
SCM z;
scm_sizet hash
- = scm_string_hash (SCM_SYMBOL_UCHARS (sym), SCM_LENGTH (sym)) % scm_symhash_dim;
+ = scm_string_hash (SCM_SYMBOL_UCHARS (sym), SCM_SYMBOL_LENGTH (sym)) % scm_symhash_dim;
SCM_DEFER_INTS;
for (lsym = SCM_VELTS (scm_symhash)[hash]; SCM_NIMP (lsym); lsym = SCM_CDR (lsym))
{
SCM lsym, z;
scm_sizet hash
- = scm_string_hash (SCM_SYMBOL_UCHARS (sym), SCM_LENGTH (sym)) % SCM_LENGTH (obarray);
+ = scm_string_hash (SCM_SYMBOL_UCHARS (sym), SCM_SYMBOL_LENGTH (sym)) % SCM_VECTOR_LENGTH (obarray);
SCM_REDEFER_INTS;
for (lsym = SCM_VELTS (obarray)[hash];
SCM_NIMP (lsym);
goto uninterned_symbol;
}
- hash = raw_hash % SCM_LENGTH (obarray);
+ hash = raw_hash % SCM_VECTOR_LENGTH (obarray);
retry_new_obarray:
for (lsym = SCM_VELTS (obarray)[hash]; SCM_NIMP (lsym); lsym = SCM_CDR (lsym))
SCM a = SCM_CAR (lsym);
SCM z = SCM_CAR (a);
unsigned char *tmp = SCM_SYMBOL_UCHARS (z);
- if (SCM_LENGTH (z) != len)
+ if (SCM_SYMBOL_LENGTH (z) != len)
goto trynext;
for (i = len; i--;)
if (((unsigned char *) name)[i] != tmp[i])
#define FUNC_NAME s_scm_symbol_to_string
{
SCM_VALIDATE_SYMBOL (1, s);
- return scm_makfromstr (SCM_SYMBOL_CHARS (s), SCM_LENGTH (s), 0);
+ return scm_makfromstr (SCM_SYMBOL_CHARS (s), SCM_SYMBOL_LENGTH (s), 0);
}
#undef FUNC_NAME
SCM vcell;
SCM answer;
- SCM_VALIDATE_ROSTRING (1,s);
- vcell = scm_intern(SCM_ROCHARS(s), (scm_sizet)SCM_LENGTH(s));
+ SCM_VALIDATE_STRING (1,s);
+ vcell = scm_intern (SCM_ROCHARS (s), SCM_STRING_LENGTH (s));
answer = SCM_CAR (vcell);
return answer;
}
if (SCM_FALSEP (o))
o = scm_symhash;
SCM_VALIDATE_VECTOR (1,o);
- hval = scm_string_hash (SCM_SYMBOL_UCHARS (s), SCM_LENGTH (s)) % SCM_LENGTH (o);
+ hval = scm_string_hash (SCM_SYMBOL_UCHARS (s), SCM_SYMBOL_LENGTH (s)) % SCM_VECTOR_LENGTH (o);
/* If the symbol is already interned, simply return. */
SCM_REDEFER_INTS;
{
if (SCM_FALSEP (o))
o = scm_symhash;
SCM_VALIDATE_VECTOR (1,o);
- hval = scm_string_hash (SCM_SYMBOL_UCHARS (s), SCM_LENGTH (s)) % SCM_LENGTH (o);
+ hval = scm_string_hash (SCM_SYMBOL_UCHARS (s), SCM_SYMBOL_LENGTH (s)) % SCM_VECTOR_LENGTH (o);
SCM_DEFER_INTS;
{
SCM lsym_follow;
copy_and_prune_obarray (SCM from, SCM to)
{
int i;
- int length = SCM_LENGTH (from);
+ int length = SCM_VECTOR_LENGTH (from);
for (i = 0; i < length; ++i)
{
SCM head = SCM_VELTS (from)[i]; /* GC protection */
"unbound symbols.")
#define FUNC_NAME s_scm_builtin_bindings
{
- int length = SCM_LENGTH (scm_symhash);
+ int length = SCM_VECTOR_LENGTH (scm_symhash);
SCM obarray = scm_make_vector (SCM_MAKINUM (length), SCM_EOL);
copy_and_prune_obarray (scm_symhash, obarray);
return obarray;
"")
#define FUNC_NAME s_scm_builtin_weak_bindings
{
- int length = SCM_LENGTH (scm_weak_symhash);
+ int length = SCM_VECTOR_LENGTH (scm_weak_symhash);
SCM obarray = scm_make_doubly_weak_hash_table (SCM_MAKINUM (length));
copy_and_prune_obarray (scm_weak_symhash, obarray);
return obarray;
-/* $Id: validate.h,v 1.16 2000-09-26 21:53:49 dirk Exp $ */
+/* $Id: validate.h,v 1.17 2000-10-09 16:27:24 dirk Exp $ */
/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
#define SCM_VALIDATE_VECTOR_LEN(pos, v, len) \
do { \
- SCM_ASSERT (SCM_VECTORP (v) && len == SCM_LENGTH (v), v, pos, FUNC_NAME); \
+ SCM_ASSERT (SCM_VECTORP (v) && len == SCM_VECTOR_LENGTH (v), v, pos, FUNC_NAME); \
} while (0)
#endif