From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751364AbdKUVu2 (ORCPT ); Tue, 21 Nov 2017 16:50:28 -0500 Received: from mail-wr0-f174.google.com ([209.85.128.174]:38858 "EHLO mail-wr0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751229AbdKUVu1 (ORCPT ); Tue, 21 Nov 2017 16:50:27 -0500 X-Google-Smtp-Source: AGs4zMZETfq1KdUjj3AqMqLHokFeplqiGDy0TUFWpe/dD1bfuL4eaqEjn2h/+Sh5k3biTElwPLEsKw== Message-ID: <1511301024.12439.38.camel@elementarea.net> Subject: [PATCH v3] checkpatch: allow URL >80 chars From: Andreas Brauchli To: Joe Perches , Andy Whitcroft Cc: linux-kernel@vger.kernel.org Date: Tue, 21 Nov 2017 22:50:24 +0100 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.1-1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Allow URL to exceed the 80 char limit for improved interaction in adaption to ongoing but undocumented practice. $ git grep -E '://\S{77}.*' -- '*.[ch]' The patch checks that the URL is indeed on its own line in that only non-word (\W) and underscore characters are allowed beside the URL (e.g. ' /* _https://..._ */') As per RFC3986 [1], the URL format allows for alphanum, +, - and . characters in the scheme before the separator :// as long as it starts with a letter (e.g. https, git, f.-+). Recognition of URIs without more context information is prone to false positives and thus currently left out of the heuristics. $rawline is used in the check as comments are removed from $line. [1] https://tools.ietf.org/html/rfc3986#section-3.1 Signed-off-by: Andreas Brauchli --- scripts/checkpatch.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 95cda3ecc66b..ac223921f7e0 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -2906,6 +2906,10 @@ sub process { $line =~ /^\+\s*(?:\w+)?\s*DEFINE_PER_CPU/) { $msg_type = ""; + # URL (w/ non-word char padding e.g. " /* */") + } elsif ($rawline =~ /^\+[\W_]*?\b([a-z][\w\.\+\-]*:\/\/\S+[^\s\)\]\.">;,])[\W_]*$/i) { + $msg_type = ""; + # Otherwise set the alternate message types # a comment starts before $max_line_length -- 2.14.1