From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751212AbdKTMkJ (ORCPT ); Mon, 20 Nov 2017 07:40:09 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:43796 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751021AbdKTMkI (ORCPT ); Mon, 20 Nov 2017 07:40:08 -0500 X-Google-Smtp-Source: AGs4zMZQzADzRmmlKp3Lyk2dl1LRTpjPxRpoFJ4VzeJuBAr4Bp5bkck1HbIpKeP9DSijo5f6TVOkDA== Message-ID: <1511181605.2384.2.camel@elementarea.net> Subject: [PATCH v2] checkpatch: allow URL >80 chars From: Andreas Brauchli To: Joe Perches , Andy Whitcroft Cc: linux-kernel@vger.kernel.org Date: Mon, 20 Nov 2017 13:40:05 +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 it allows a maximal prefix of 3 characters to account for a URL after a comment (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 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 8b80bac055e4..732d87917f15 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -2904,6 +2904,11 @@ sub process { } elsif ($line =~ /^\+.*\bEFI_GUID\s*\(/) { $msg_type = ""; + # URL (w/ minimal padding e.g. "// ") + } elsif ($rawline =~ /^\+.*?\b([a-z][\w\.\+\-]*:\/\/\S+[^\s\)\]\.">;,]).*$/i && + length($rawline) - length($1) <= 4) { + $msg_type = ""; + # Otherwise set the alternate message types # a comment starts before $max_line_length -- 2.14.1