From owner-svn-src-user@FreeBSD.ORG Fri Feb 24 13:22:58 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AB6D106564A; Fri, 24 Feb 2012 13:22:58 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F03928FC0C; Fri, 24 Feb 2012 13:22:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q1ODMvOe060711; Fri, 24 Feb 2012 13:22:57 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q1ODMvRl060708; Fri, 24 Feb 2012 13:22:57 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201202241322.q1ODMvRl060708@svn.freebsd.org> From: Gabor Kovesdan Date: Fri, 24 Feb 2012 13:22:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r232113 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Feb 2012 13:22:58 -0000 Author: gabor Date: Fri Feb 24 13:22:57 2012 New Revision: 232113 URL: http://svn.freebsd.org/changeset/base/232113 Log: - Avoid calling strlen()/wcslen() if REG_STARTEND is specified Modified: user/gabor/tre-integration/contrib/tre/lib/mregexec.c user/gabor/tre-integration/contrib/tre/lib/regexec.c Modified: user/gabor/tre-integration/contrib/tre/lib/mregexec.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/mregexec.c Fri Feb 24 13:13:55 2012 (r232112) +++ user/gabor/tre-integration/contrib/tre/lib/mregexec.c Fri Feb 24 13:22:57 2012 (r232113) @@ -294,14 +294,15 @@ tre_mregnexec(const mregex_t *preg, cons CALL_WITH_OFFSET(tre_mmatch(&str[offset], slen, type, nmatch, pmatch, eflags, preg)); else - return tre_mmatch(str, len, type, nmatch, pmatch, eflags, preg); + return tre_mmatch(str, len == (unsigned)-1 ? strlen(str) : len, + type, nmatch, pmatch, eflags, preg); } int tre_mregexec(const mregex_t *preg, const char *str, size_t nmatch, regmatch_t pmatch[], int eflags) { - return tre_mregnexec(preg, str, strlen(str), nmatch, pmatch, eflags); + return tre_mregnexec(preg, str, (unsigned)-1, nmatch, pmatch, eflags); } @@ -317,14 +318,15 @@ tre_mregwnexec(const mregex_t *preg, con CALL_WITH_OFFSET(tre_mmatch(&str[offset], slen, type, nmatch, pmatch, eflags, preg)); else - return tre_mmatch(str, len, STR_WIDE, nmatch, pmatch, eflags, preg); + return tre_mmatch(str, len == (unsigned)-1 ? tre_strlen(str) : len, + STR_WIDE, nmatch, pmatch, eflags, preg); } int tre_mregwexec(const mregex_t *preg, const wchar_t *str, size_t nmatch, regmatch_t pmatch[], int eflags) { - return tre_mregwnexec(preg, str, tre_strlen(str), nmatch, pmatch, eflags); + return tre_mregwnexec(preg, str, (unsigned)-1, nmatch, pmatch, eflags); } #endif /* TRE_WCHAR */ Modified: user/gabor/tre-integration/contrib/tre/lib/regexec.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regexec.c Fri Feb 24 13:13:55 2012 (r232112) +++ user/gabor/tre-integration/contrib/tre/lib/regexec.c Fri Feb 24 13:22:57 2012 (r232113) @@ -410,7 +410,8 @@ tre_regnexec(const regex_t *preg, const CALL_WITH_OFFSET(tre_match(preg, &str[offset], slen, type, nmatch, pmatch, eflags)); else - return tre_match(preg, str, len, type, nmatch, pmatch, eflags); + return tre_match(preg, str, len == (unsigned)-1 ? strlen(str) : len, + type, nmatch, pmatch, eflags); } int @@ -433,7 +434,8 @@ tre_regwnexec(const regex_t *preg, const CALL_WITH_OFFSET(tre_match(preg, &str[offset], slen, type, nmatch, pmatch, eflags)); else - return tre_match(preg, str, len, STR_WIDE, nmatch, pmatch, eflags); + return tre_match(preg, str, len == (unsigned)-1 ? strlen(str) : len, + STR_WIDE, nmatch, pmatch, eflags); } int