From bullard at berkeley.edu  Tue May 17 18:20:33 2005
From: bullard at berkeley.edu (James Bullard)
Date: Tue May 17 18:25:38 2005
Subject: [Rd] returning an empty list.
Message-ID: <428A19D1.8040409@berkeley.edu>

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@berkeley.edu
760.267.0986


[Rd] returning an empty list.
James Bullard