Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753043AbdHJRkk (ORCPT ); Thu, 10 Aug 2017 13:40:40 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:32848 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752389AbdHJRkj (ORCPT ); Thu, 10 Aug 2017 13:40:39 -0400 From: Cihangir Akturk To: Julia.Lawall@lip6.fr Cc: Gilles.Muller@lip6.fr, nicolas.palix@imag.fr, mmarek@suse.com, cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org, Cihangir Akturk Subject: [PATCH] coccicheck: improve pattern for getting relative path Date: Thu, 10 Aug 2017 20:40:25 +0300 Message-Id: <1502386825-363-1-git-send-email-cakturk@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1454 Lines: 46 When invoked with V=1, coccicheck script prints the information about which semantic patch (*.cocci file) used for this operation. Actually, it prints out the relative path of the related semantic patch. The script uses sed to remove the source tree part from cocci file path like so: FILE=`echo $COCCI | sed "s|$srctree/||"` This pattern works well most of the time. But in cases where $COCCI doesn't start with "./" characters, it doesn't remove the right part. Consider the following scenario: $ make coccicheck COCCI=scripts/coccinelle/api/drm-get-put.cocci \ MODE=patch M=drivers/staging V=1 where COCCI=scripts/coccinelle/api/drm-get-put.cocci and srctree=. In this case, out pattern matches the first "s/", and we end up assigning "scriptcoccinelle/api/drm-get-put.cocci" to $FILE. Fix this by adding a caret ^ at the beginning of regex pattern, so that it matches only start of the path. Signed-off-by: Cihangir Akturk --- scripts/coccicheck | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/coccicheck b/scripts/coccicheck index ec487b8..8de4245 100755 --- a/scripts/coccicheck +++ b/scripts/coccicheck @@ -193,7 +193,7 @@ coccinelle () { if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then - FILE=`echo $COCCI | sed "s|$srctree/||"` + FILE=`echo $COCCI | sed "s|^$srctree/||"` echo "Processing `basename $COCCI`" echo "with option(s) \"$OPT\"" -- 2.7.4