Changeset: 3d1e680be2d9 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3d1e680be2d9 Modified Files: clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/src/mapisplit-r.c Branch: default Log Message:
R Connector: Fix crash on Windows (...) diffs (48 lines): diff --git a/clients/R/MonetDB.R/DESCRIPTION b/clients/R/MonetDB.R/DESCRIPTION --- a/clients/R/MonetDB.R/DESCRIPTION +++ b/clients/R/MonetDB.R/DESCRIPTION @@ -1,5 +1,5 @@ Package: MonetDB.R -Version: 0.9.6 +Version: 0.9.7 Title: Connect MonetDB to R Authors@R: c(person("Hannes Muehleisen", role = c("aut", "cre"),email = "han...@cwi.nl"), person("Thomas Lumley", role = "ctb"), diff --git a/clients/R/MonetDB.R/NEWS b/clients/R/MonetDB.R/NEWS --- a/clients/R/MonetDB.R/NEWS +++ b/clients/R/MonetDB.R/NEWS @@ -1,3 +1,6 @@ +0.9.7 +- Fixed crash on Windows (Sorry, everyone) + 0.9.6 - monetdb.read.csv new create= parameter (Thanks, Duncan) - deprecated nrows parameter to monetdb.read.csv, not neccessary any more because of changes to MonetDB diff --git a/clients/R/MonetDB.R/src/mapisplit-r.c b/clients/R/MonetDB.R/src/mapisplit-r.c --- a/clients/R/MonetDB.R/src/mapisplit-r.c +++ b/clients/R/MonetDB.R/src/mapisplit-r.c @@ -1,19 +1,17 @@ #include <assert.h> - #include <R.h> #include <Rdefines.h> - -void mapi_line_split(char* line, char** out, size_t ncols); +#include "mapisplit.h" char nullstr[] = "NULL"; + SEXP mapi_split(SEXP mapiLinesVector, SEXP numCols) { - assert(TYPEOF(mapiLinesVector) == CHARSXP); - int cols = INTEGER_POINTER(AS_INTEGER(numCols))[0]; int rows = LENGTH(mapiLinesVector); - assert(rows > 0); - assert(cols > 0); + if (!IS_CHARACTER(mapiLinesVector) || rows < 1 || cols < 1) { + error("Invalid input to mapi_split: type=%d, rows=%d, cols=%d", TYPEOF(mapiLinesVector), rows, cols); + } SEXP colVec; PROTECT(colVec = NEW_LIST(cols)); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list