*.[ch]: make a distinction between SCM as a generic
[bpt/guile.git] / libguile / unif.h
index 6d2cdda..c14b7b6 100644 (file)
@@ -76,10 +76,10 @@ typedef struct scm_array_dim
 
 
 extern long scm_tc16_array;
-#define SCM_ARRAYP(a)          (SCM_NIMP(a) && (scm_tc16_array==SCM_TYP16(a)))
-#define SCM_ARRAY_NDIM(x)      ((scm_sizet)(SCM_CAR(x)>>17))
+#define SCM_ARRAYP(a)          (SCM_NIMP(a) && (scm_tc16_array == SCM_TYP16(a)))
+#define SCM_ARRAY_NDIM(x)      ((scm_sizet)(SCM_CARW(x)>>17))
 #define SCM_ARRAY_CONTIGUOUS   0x10000
-#define SCM_ARRAY_CONTP(x)     (SCM_ARRAY_CONTIGUOUS & (int)SCM_CAR(x))
+#define SCM_ARRAY_CONTP(x)     (SCM_ARRAY_CONTIGUOUS & (int)(SCM_CARW(x)))
 
 #define SCM_ARRAY_V(a)           (((scm_array *)SCM_CDR(a))->v)
 #define SCM_ARRAY_BASE(a) (((scm_array *)SCM_CDR(a))->base)