From dfca6c69026bc59caaa3fa1b057d46a99295f0d7 Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Fri, 3 Jun 2016 16:57:29 -0700 Subject: [PATCH] fix regexpr/gregexpr bug then fixed=FALSE --- .../oracle/truffle/r/nodes/builtin/base/GrepFunctions.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java index c8c6f1c527..8c7b35626d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java @@ -574,6 +574,7 @@ public class GrepFunctions { for (int i = 0; i < vector.getLength(); i++) { result[i] = findIndex(pattern, vector.getDataAt(i), ignoreCase, fixedL == RRuntime.LOGICAL_TRUE).get(0); } + // TODO attribute as per spec return RDataFactory.createIntVector(result, RDataFactory.COMPLETE_VECTOR); } @@ -614,13 +615,15 @@ public class GrepFunctions { @TruffleBoundary @Override protected Object regexp(RAbstractStringVector patternArg, RAbstractStringVector vector, byte ignoreCaseL, byte perlL, byte fixedL, byte useBytesL) { - checkExtraArgs(RRuntime.LOGICAL_FALSE, perlL, fixedL, useBytesL, RRuntime.LOGICAL_FALSE); + checkExtraArgs(RRuntime.LOGICAL_FALSE, perlL, RRuntime.LOGICAL_FALSE, useBytesL, RRuntime.LOGICAL_FALSE); boolean ignoreCase = RRuntime.fromLogical(ignoreCaseL); String pattern = RegExp.checkPreDefinedClasses(patternArg.getDataAt(0)); + boolean fixed = RRuntime.fromLogical(fixedL); Object[] result = new Object[vector.getLength()]; for (int i = 0; i < vector.getLength(); i++) { - int[] data = toIntArray(findIndex(pattern, vector.getDataAt(i), ignoreCase, true)); + int[] data = toIntArray(findIndex(pattern, vector.getDataAt(i), ignoreCase, fixed)); result[i] = RDataFactory.createIntVector(data, RDataFactory.COMPLETE_VECTOR); + // TODO attributes as per spec } return RDataFactory.createList(result); } -- GitLab