Hi Deepayan, IIRC Rf_initialize_R sets up the pointers so ptr_R_WriteConsole is just being overwritten by the original. You want to do it between initialization and the mainloop
On 4/2/07, Deepayan Sarkar <[EMAIL PROTECTED]> wrote: > Hi, > > I'm trying to understand (mostly from the R-exts manual) how to use > the callbacks declared in Rinterface.h. As a first attempt, I'm trying > to redefine ptr_R_WriteConsole in a very trivial manner. Here's my > code: > > --------------- > $ cat altr.c > > int Rf_initialize_R(int ac, char **av); > > #define R_INTERFACE_PTRS 1 > #include <Rinterface.h> > > extern int R_running_as_main_program; > > static void my_R_WriteConsole(char *buf, int len) > { > printf("R<< %s", buf); > } > > int main(int ac, char **av) > { > R_running_as_main_program = 1; > ptr_R_WriteConsole = my_R_WriteConsole; > Rf_initialize_R(ac, av); > Rf_mainloop(); > return 0; > } > --------------- > > I compile and run this in bash with > > > RPROG=R > > INC=`${RPROG} CMD config --cppflags` > LDF=`${RPROG} CMD config --ldflags` > export LD_LIBRARY_PATH=`${RPROG} RHOME`/lib > gcc -o altr ${INC} ${LDF} altr.c > > ${RPROG} CMD ./altr > > However, my customized version seems not to be used. What am I missing? > > -Deepayan > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Byron Ellis ([EMAIL PROTECTED]) "Oook" -- The Librarian ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel