On 21/01/2016 11:39 AM, Tom Quarendon wrote:
I would like to implement a package that contains a C function that writes to a
connection.
So the R_ext/Connections.h defines what a connection IS, but not how to get one.
What seems to work is to manually declare
Rconnection getConnection(int n);
In my C file, and while this works, and I can then use the connection object,
it fails package validation with:
�Found non-API call to R: �getConnection�
Compiled code should not call non-API entry points in R.�
So how am I supposed to do this? Is there a way? Or do I just live with the
check warning (ideally not)?
The usual way to do that would be to create the connection in R code,
and pass it in with your call.
If you don't know what connection you need at the time you call your C
code, you can evaluate an R expression from C to do the same, but this
is relatively tricky, so I'd advise the other method.
Duncan Murdoch
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel