I'm new to R development, so this may be a trivial question. In C, How do you convert a SEXP value returned by an R function to a primitive C type (int, double, char, array, etc.)? I've tried using the INTEGER(x), VECTOR_ELT(x,i), and similar functions found in /src/ include/Rinternals.h, but doing so results in incorrect results or a seg-fault.
For example, I modified /tests/Embedding/Rerror.c so that it tries to print the value returned by the function defined in error.R: val = Test_tryEval(e, &errorOccurred); printf("Returned: {%d}\n", VECTOR_ELT(val, 0) ); Where error.R is contains: foo <- function(x=3, y=6) { z <- x * y z } But the output is just "0", not the correct "18". Any ideas? Thanks for your help! ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel