From kevin.hendricks at sympatico.ca  Sun Mar 10 02:43:36 2013
From: kevin.hendricks at sympatico.ca (Kevin Hendricks)
Date: Sat, 9 Mar 2013 20:43:36 -0500
Subject: [Rd] question on why Rigroup package moved to Archive on CRAN
In-Reply-To: <CAF42j23sooTLrLo_+werPDh25MCrMdxe7GrySi8EG=osOCH_wg@mail.gmail.com>
References: <BLU0-SMTP1663AF8838B6E599BDF19787E70@phx.gbl>
	<CAFDcVCSpBzh0hm0_C=SfYTVekrZ7iSckuDg5wFwd5f2N0bGbSA@mail.gmail.com>
	<BLU0-SMTP30278138E54E7526966E2187E70@phx.gbl>
	<BLU0-SMTP472512ED1388C9E8DDB39B87E70@phx.gbl>
	<CAF42j23teS7eq9Qj-CqqOTyUC-GKxvy5OLoRwG0Rkcw9VOf52w@mail.gmail.com>
	<BLU0-SMTP32DDDC2FAFD538C33A193287E00@phx.gbl>
	<CAF42j23sooTLrLo_+werPDh25MCrMdxe7GrySi8EG=osOCH_wg@mail.gmail.com>
Message-ID: <BLU0-SMTP89E4EB1F1CB967D93FF4CC87E00@phx.gbl>

Hi Dan,

In case this catches anyone else ... 

FWIW, I found the issue ...  in my Rinit.c, my package uses the .External call which actually takes one SEXP which points to a "varargs-like" list.

Under 2.15.X and earlier, I thought the proper entry for an .External call was as below since it only does take one pointer as an argument:

#include "Rigroup.h"

/* Automate using sed or something. */
#if _MSC_VER >= 1000
__declspec(dllexport)
#endif

   static const R_ExternalMethodDef R_ExtDef[] = {
	{"igroupFuns", (DL_FUNC)&igroupFuns, 1},
	{NULL, NULL, 0},
   };

void R_init_Rigroup(DllInfo *info)
{
 R_registerRoutines(info,NULL,NULL,NULL,R_ExtDef);
}


But now according to the latest online docs on building your own package it says:

"For routines with a variable number of arguments invoked viathe .External interface, one specifies -1 for the number of arguments which tells R not to check the actual number passed. Note that the number of arguments passed to .External are not currently checked but they will be in R 3.0.0."

So I need to change my Rinit.c to change the "1" to a "-1" and that error should go away.

Thanks again for all your help with this.  I will update my package and resubmit it once version 3.0 gets released and I get a chance to verify that this does in fact fix the problem.

Kevin



[Rd] question on why Rigroup package moved to Archive on CRAN
Kevin Hendricks