From owner-svn-src-stable-8@FreeBSD.ORG Fri Jun 11 15:55:18 2010 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B01551065675; Fri, 11 Jun 2010 15:55:18 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9EF1E8FC18; Fri, 11 Jun 2010 15:55:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5BFtIgG020560; Fri, 11 Jun 2010 15:55:18 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5BFtI2W020558; Fri, 11 Jun 2010 15:55:18 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201006111555.o5BFtI2W020558@svn.freebsd.org> From: Ulrich Spoerlein Date: Fri, 11 Jun 2010 15:55:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209049 - stable/8/bin/pax X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jun 2010 15:55:18 -0000 Author: uqs Date: Fri Jun 11 15:55:18 2010 New Revision: 209049 URL: http://svn.freebsd.org/changeset/base/209049 Log: iMFC r208484: Fix back references in substitute command for pax(1) pax(1) was trying to copy the back-referenced data from the match pattern, not the matched data. Approved by: re (kib) Modified: stable/8/bin/pax/pat_rep.c Directory Properties: stable/8/bin/pax/ (props changed) Modified: stable/8/bin/pax/pat_rep.c ============================================================================== --- stable/8/bin/pax/pat_rep.c Fri Jun 11 15:49:39 2010 (r209048) +++ stable/8/bin/pax/pat_rep.c Fri Jun 11 15:55:18 2010 (r209049) @@ -76,7 +76,7 @@ static char * range_match(char *, int); #ifdef NET2_REGEX static int resub(regexp *, char *, char *, char *); #else -static int resub(regex_t *, regmatch_t *, char *, char *, char *); +static int resub(regex_t *, regmatch_t *, char *, char *, char *, char *); #endif /* @@ -929,7 +929,7 @@ rep_name(char *name, int *nlen, int prnt # ifdef NET2_REGEX if ((res = resub(pt->rcmp,pt->nstr,outpt,endpt)) < 0) { # else - if ((res = resub(&(pt->rcmp),pm,pt->nstr,outpt,endpt)) + if ((res = resub(&(pt->rcmp),pm,inpt,pt->nstr,outpt,endpt)) < 0) { # endif if (prnt) @@ -1071,7 +1071,7 @@ resub(regexp *prog, char *src, char *des */ static int -resub(regex_t *rp, regmatch_t *pm, char *src, char *dest, +resub(regex_t *rp, regmatch_t *pm, char *orig, char *src, char *dest, char *destend) { char *spt; @@ -1121,7 +1121,7 @@ resub(regex_t *rp, regmatch_t *pm, char */ if (len > (destend - dpt)) len = destend - dpt; - if (l_strncpy(dpt, src + pmpt->rm_so, len) != len) + if (l_strncpy(dpt, orig + pmpt->rm_so, len) != len) return(-1); dpt += len; }