diff options
-rw-r--r-- | libguile/boolean.h | 8 | ||||
-rw-r--r-- | libguile/scm_validate.h | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/libguile/boolean.h b/libguile/boolean.h index 52a28b559..59c7df218 100644 --- a/libguile/boolean.h +++ b/libguile/boolean.h @@ -53,6 +53,14 @@ #define SCM_FALSEP(x) (SCM_BOOL_F == (x)) #define SCM_NFALSEP(x) (SCM_BOOL_F != (x)) +#define SCM_BOOLP(x) ((x) == SCM_BOOL_T || (x) == SCM_BOOL_F) + +/* Convert from a C boolean to a SCM boolean value */ +#define SCM_BOOL(f) ((f)? SCM_BOOL_T : SCM_BOOL_F) + +/* Convert from a C boolean to a SCM boolean value and negate it */ +#define SCM_NEGATE_BOOL(f) ((f)? SCM_BOOL_F : SCM_BOOL_T) + /* SCM_BOOL_NOT returns the other boolean. * The order of ^s here is important for Borland C++ (!?!?!) */ diff --git a/libguile/scm_validate.h b/libguile/scm_validate.h index 4c6d3ebac..c74e76e1d 100644 --- a/libguile/scm_validate.h +++ b/libguile/scm_validate.h @@ -1,4 +1,4 @@ -/* $Id: scm_validate.h,v 1.3 1999-12-12 18:30:09 gjb Exp $ */ +/* $Id: scm_validate.h,v 1.4 1999-12-12 19:09:46 gjb Exp $ */ /* Copyright (C) 1999 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify @@ -45,9 +45,6 @@ #ifndef SCM_VALIDATE_H__ #define SCM_VALIDATE_H__ -#define SCM_BOOL(f) ((f)? SCM_BOOL_T : SCM_BOOL_F) -#define SCM_NEGATE_BOOL(f) ((f)? SCM_BOOL_F : SCM_BOOL_T) - #define SCM_FUNC_NAME (scm_makfrom0str(FUNC_NAME)) #define SCM_SYSERROR do { scm_syserror(FUNC_NAME); } while (0) @@ -88,7 +85,7 @@ #define SCM_MUST_MALLOC(size) (scm_must_malloc((size), FUNC_NAME)) -#define SCM_VALIDATE_NIM (pos,scm) \ +#define SCM_VALIDATE_NIM(pos,scm) \ do { SCM_ASSERT(SCM_NIMP(scm), scm, pos, FUNC_NAME); } while (0) #define SCM_MAKE_NIM_VALIDATE(pos,var,pred) \ |