build: Don't include <config.h> in native programs when cross-compiling.
[bpt/guile.git] / libguile / values.c
index ff56230..ef27cad 100644 (file)
@@ -67,6 +67,15 @@ print_values (SCM obj, SCM pwps)
   return SCM_UNSPECIFIED;
 }
 
+size_t
+scm_c_nvalues (SCM obj)
+{
+  if (SCM_LIKELY (SCM_VALUESP (obj)))
+    return scm_ilength (scm_struct_ref (obj, SCM_INUM0));
+  else
+    return 1;
+}
+
 SCM
 scm_c_value_ref (SCM obj, size_t idx)
 {
@@ -88,8 +97,8 @@ scm_c_value_ref (SCM obj, size_t idx)
   scm_error (scm_out_of_range_key,
             "scm_c_value_ref",
             "Too few values in ~S to access index ~S",
-             scm_list_2 (obj, scm_from_unsigned_integer (idx)),
-             scm_list_1 (scm_from_unsigned_integer (idx)));
+             scm_list_2 (obj, scm_from_size_t (idx)),
+             scm_list_1 (scm_from_size_t (idx)));
 }
 
 SCM_DEFINE (scm_values, "values", 0, 0, 1,