Why invent your own function to do the same thing as the builtin one mkString?
Please discuss C programming questions on the R-devel list *as the posting guide asks* On Fri, 15 Jul 2005, mkondrin wrote: > Tuszynski, Jaroslaw W. wrote: > >> Hi, >> >> I have a C code which produces array of integers and potentially a string, >> and I have problems passing the string out. Here is the relevant part of the >> code: >> >> 1 PROTECT(Ret = allocVector(INTSXP, n)); >> 2 ret = (int*) INTEGER(Ret); /* get pointer to R's Ret */ >> 3 for(i=0; i<n; i++) ret[i] = data[i]; >> 4 Free(data); >> 5 i=1; >> 6 if (comment) { // comment was found >> 7 n = strlen(comment); >> 8 if(n>0) { // and it actually have some length >> 9 Rprintf(" '%s' %i\n", comment, n); >> 10 PROTECT(Str = allocString(n+1)); >> 11 str = CHAR(STRING_ELT(Str, 0)); >> 12 strcpy(str, comment); >> 13 Rprintf(" '%s' %i\n", str, n); >> 14 setAttrib(Ret, install("comm"), Str); >> 15 i=2; >> 16 } >> 17 Free(comment); >> 18 } >> 20 UNPROTECT(i); >> >> Print statement in line 9 gives right results, but program crashes before >> print statement in line 13. >> Any ideas to what am I doing wrong? >> >> Jarek >> =====================================\==== >> Jarek Tuszynski, PhD. o / \ >> Science Applications International Corporation <\__,| >> (703) 676-4192 "> \ >> [EMAIL PROTECTED] ` \ >> >> ______________________________________________ >> R-help@stat.math.ethz.ch mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >> >> > SEXP charToSexp(char * val) { > USER_OBJECT_ ans; > PROTECT(ans = NEW_CHARACTER(1)); > if(val) > SET_STRING_ELT(ans, 0, COPY_TO_USER_STRING(val)); > UNPROTECT(1); > > return(ans); > } > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html