[Rd] returning an empty list.

James Bullard bullard at berkeley.edu
Tue May 17 18:20:33 CEST 2005


I would like to return an empty list from a C function. This I would do as:

if (file.exists()) {
    /* do something */
}
else {
    SEXP empty_list;
    PROTECT(empty_list = NEW_LIST(0));
    UNPROTECT(1);
    return empty_list;
}

The PROTECT, UNPROTECT lines seemed like overkill to me, but as far as I 
understood the documentation this seemed like the correct usage. It 
seems like I could really just do the following:

return NEW_LIST(0);

but I thought I'd better ask first. Thanks in advance, I hope I did not 
miss something in the documentation which describes this.

Thanks, jim

-- 
James Bullard
bullard at berkeley.edu
760.267.0986



More information about the R-devel mailing list