[R-pkg-devel] Error checking in an independent C code and printing (perror, printf, etc.)

Jiří Moravec j|r|@c@mor@vec @end|ng |rom gm@||@com
Tue Sep 6 04:48:02 CEST 2022


Hello,

this is my first time writing C code that interacts with R.
To make my C code more modular, reusable, and easier to test with 
unittests, I split my code into:

a) code that does stuff
b) code that interfaces between a) and R.

Only the b) imports the R headers, a) is completely independent of R 
(and potentially shared between different projects).

That brings me to a problem: How to do error handling in C without the 
use of various C-specific print functions R-specific print functions?

The C-specific print functions raise a CRAN note:

Compiled code should not call entry points which might terminate R nor
write to stdout/stderr instead of to the console, nor use Fortran I/O
nor system RNGs

But R(C) print functions cannot be used without importing particular 
header,
which would induce otherwise another dependency, and tie it closely with R.

This is my first time writing into mailing list, hopefully I am doing 
everything ok.

Thanks everyone!

-- Jirka



More information about the R-package-devel mailing list