Redid the source and the text to check for SCM_MAJOR_VERSION >= 2

This commit is contained in:
Brian Caine 2017-01-27 12:25:14 -05:00 committed by William S Fulton
commit 892f3592cc
2 changed files with 3 additions and 3 deletions

View file

@ -7,7 +7,7 @@
;; if we're running guile 1.8, then bytevector->pointer won't exist and this
;; test is useless
(if (module-variable (resolve-module '(system foreign)) 'bytevector->pointer)
(if (>= (string->number (major-version)) 2)
(begin
(use-modules (srfi srfi-4) (system foreign))

View file

@ -176,11 +176,11 @@ SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags)
if (SCM_NULLP(smob)) {
*result = NULL;
return SWIG_OK;
#if defined(SCM_POINTER_P) && defined(SCM_POINTER_VALUE)
#if SCM_MAJOR_VERSION >= 2
} else if (SCM_POINTER_P(s)) {
*result = SCM_POINTER_VALUE(s);
return SWIG_OK;
#endif /* if defined(SCM_POINTER_P) && defined(SCM_POINTER_VALUE) */
#endif /* if SCM_MAJOR_VERSION >= 2 */
} else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
/* we do not accept smobs representing destroyed pointers */
from = (swig_type_info *) SCM_CELL_WORD_2(smob);