Rev 48160 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#include "embeddedRCall.h"int callLength(SEXP obj);int R_embeddedShutdown(Rboolean ask);main(int argc, char *argv[]){SEXP objs[100];int i;Rf_initEmbeddedR(sizeof(argv)/sizeof(argv[0]), argv);for(i = 0; i < 100; i++) {objs[i] = allocVector(VECSXP, 1000);R_PreserveObject(objs[i]);callLength(objs[i]);}R_embeddedShutdown(FALSE);}intcallLength(SEXP obj){SEXP e, val;int errorOccurred;int len = -1;PROTECT(e = lang2(install("length"), obj));val = R_tryEval(e, R_GlobalEnv, &errorOccurred);len = INTEGER(val)[0];UNPROTECT(1);return(len);}intR_embeddedShutdown(Rboolean ask){R_dot_Last();R_RunExitFinalizers();CleanEd();KillAllDevices();num_old_gens_to_collect = NUM_OLD_GENERATIONS;R_gc();return(1);}