[Rd] SET_LENGTH

Larry Tordsen ltordsen at mymachinery.net
Sat Apr 16 23:37:32 CEST 2005


Hello.

I'm trying to read a delimited file.  I'm a little new
to the R api.  In the program, I do something like
this...

/*****************************/
SEXP retval;
PROTECT(retval = allocMatrix(STRSXP,1,names.dim));
int r_eltctr = 0;
while(!myfile.eof())
{
  SET_LENGTH(retval,r_eltctr+num_of_fields);
  for(int i = 0;numofcolumns; ++i)
    {
      INTEGER(retval)[r_eltctr++] = 1;/*some
value...*/
    }
  ++r_eltctr;
}
UNPROTECT(1);
/***************************************/

There is a segmentation fault when SET_LENGTH() is
called several iterations into the program.  It seems
like it should not be a memory issue, unless a
constraint is set by R.  The vector only has about
3500 elements at the time it crashes.

Does anyone have any ideas what the problem could be?



More information about the R-devel mailing list