42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
/* This is an Scheme48/C interface file,
|
|
** automatically generated by cig.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h> /* For malloc. */
|
|
#include "libcig.h"
|
|
|
|
/* Make sure foreign-function stubs interface to the C funs correctly: */
|
|
#include "re1.h"
|
|
|
|
scheme_value df_reg_match(long nargs, scheme_value *args)
|
|
{
|
|
extern char *reg_match(const char *, const char *, int , scheme_value , scheme_value , int *);
|
|
scheme_value ret1;
|
|
char *r1;
|
|
int r2;
|
|
|
|
cig_check_nargs(6, nargs, "reg_match");
|
|
r1 = reg_match(cig_string_body(args[5]), cig_string_body(args[4]), EXTRACT_FIXNUM(args[3]), args[2], args[1], &r2);
|
|
ret1 = VECTOR_REF(*args,0);
|
|
{AlienVal(CAR(ret1)) = (long) r1; CDR(ret1) = strlen_or_false(r1);}
|
|
VECTOR_REF(*args,1) = ENTER_BOOLEAN(r2);
|
|
return ret1;
|
|
}
|
|
|
|
scheme_value df_filter_stringvec(long nargs, scheme_value *args)
|
|
{
|
|
extern char *filter_stringvec(const char *, char const ** , int *);
|
|
scheme_value ret1;
|
|
char *r1;
|
|
int r2;
|
|
|
|
cig_check_nargs(3, nargs, "filter_stringvec");
|
|
r1 = filter_stringvec(cig_string_body(args[2]), (char const ** )AlienVal(args[1]), &r2);
|
|
ret1 = VECTOR_REF(*args,0);
|
|
{AlienVal(CAR(ret1)) = (long) r1; CDR(ret1) = strlen_or_false(r1);}
|
|
VECTOR_REF(*args,1) = ENTER_FIXNUM(r2);
|
|
return ret1;
|
|
}
|
|
|