From 0ffe78e179b0a2fda1c061fca196dd408934c418 Mon Sep 17 00:00:00 2001 From: marting Date: Thu, 16 Sep 1999 00:22:51 +0000 Subject: [PATCH] few more changes to comply with c/scheme48.h --- cig/cig.scm | 6 +++--- cig/libcig.h | 5 +++-- cig/libcig1.c | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cig/cig.scm b/cig/cig.scm index 4465552..af3b109 100644 --- a/cig/cig.scm +++ b/cig/cig.scm @@ -143,7 +143,7 @@ ;;; then try a DEFINE-FOREIGN. (define *simple-argrep-alist* '( - (char #("char ~a" char? "EXTRACT_CHAR" #f)) + (char #("char ~a" char? "s48_extract_char" #f)) (bool #("int ~a" #f "EXTRACT_BOOLEAN" #f)) (integer #("int ~a" integer? "s48_extract_fixnum" #f)) @@ -174,12 +174,12 @@ ;;; Emit C code to copy a C string into its carrier. (define (str-and-len->carrier carrier str) (format #f - "{SetAlienVal(CAR(~a),(long) ~a); SET_CDR(~a,strlen_or_false(~a));}" + "S48_SET_CAR(~a,(long) ~a); S48_SET_CDR(~a,strlen_or_false(~a));" carrier str carrier str)) ;;; Carrier and assignment-generator for alien values: (define (simple-assign carrier val) - (format #f "SetAlienVal(~a,(long) ~a);" carrier val)) + (format #f "S48_SET_CAR(~a,(long) ~a);" carrier val)) ;;JMG: untested ;;; Note: When MAKE-CARRIER and S-CVTR fields are taken from this table, ;;; they are symbols that are syntactically closed in the macro expander's diff --git a/cig/libcig.h b/cig/libcig.h index 1558a30..969fed6 100644 --- a/cig/libcig.h +++ b/cig/libcig.h @@ -14,8 +14,9 @@ // JMG: some hacks to leave to old sources untouched #define ENTER_BOOLEAN(x) (x ? S48_TRUE : S48_FALSE) -#define ENTER_FIXNUM(x) (s48_enter_fixnum(x)) -#define SCHFALSE S48_FALSE +#define EXTRACT_BOOLEAN(x) ((x==S48_TRUE) ? 1 : 0) +//#define ENTER_FIXNUM(x) (s48_enter_fixnum(x)) +//#define SCHFALSE S48_FALSE extern char *scheme2c_strcpy(s48_value sstr); diff --git a/cig/libcig1.c b/cig/libcig1.c index 1b4e24a..4e62105 100644 --- a/cig/libcig1.c +++ b/cig/libcig1.c @@ -135,8 +135,8 @@ void set_strvec_carriers(s48_value svec, char const * const * cvec) s48_value alien = S48_CAR(carrier); int strl = strlen(*cv); s48_value cdrinspe = s48_enter_fixnum(strl); - S48_UNSAFE_SET_CDR(carrier, cdrinspe); - S48_UNSAFE_SET_CAR(carrier, (long) *cv); + S48_SET_CDR(carrier, cdrinspe); + S48_SET_CAR(carrier, (long) *cv); //AlienVal(alien) = (long) *cv; }