From nobody Mon Feb 2 16:13:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4f4Wr73Wjnz6Qgr9 for ; Mon, 02 Feb 2026 16:13:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4Wr72g2hz3JKQ for ; Mon, 02 Feb 2026 16:13:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770048807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3qsrjW8s+GnmjVaTy43FyAVgtsBosFbdRWWnMu4yThM=; b=m589aA4TzAKBJ2R8Q43twrlURZ3ZI4UdaqJmzEiAqQ4AiQ1Rl4lXVvoJ8ri6Vb9s83Gose ZZqetcdmlRkWLfBACDKOCO9CfUXDL8CFfW3e7TztNDZod9LPso83W6PIA7eFYI2oqlQcC5 4Hp5VLXMN76W8xer+25WgAayyzh5StrmThyoRerawoUhSy3LBXk3eWupR43sCExFKphdWz 2lTNgxm8FGFsSbHEkp8FGuA+6t7eZwO86cR3JVHZixXta/rUYhn3cyd4P2SNNU79h7+kxH znJQCDy9dqlU3FJ1rlvtQi18D0D+D5VZy+thKuOvGJhbIBSn52NHLr0C4uXEyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770048807; a=rsa-sha256; cv=none; b=arzrvHXKrtRbL4Zei4hdQ/LIGtSHBLPYshuE6g+k6B2+51NHR3rMvpiejdR15wo1oIjbN/ FRUNzDeuzpqd1QpnABo1I7sZaD6Ggi+BoixQYV41kn8u6vc+q2FxUIafnWnsgC7IahzjIJ tPlyADYA3gGDPyxgT9jRaPCQ7BnXMT0kMfmf6T5HXojwMc5QXd7gUX2Wm5Wd/54uGgDKGN Z856Uk488DjiLNp+LchvoORfzuPetrmdiFPa5l7o6wQ2S0TQH3MmKGUIpu2KsrGBvolhAX TeKUdM7ApGOuNmDFxVBufZGSi/M93+I1+GPMdqgWGAtBZgkYF4RCL+0OtqObXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770048807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3qsrjW8s+GnmjVaTy43FyAVgtsBosFbdRWWnMu4yThM=; b=YaIk77E9OUxIHlGlOAKfchXnNO4awjgedk4EJ1zpcMtAQ92o6ZiKmOTyvW9ISdFAoSfqig NbVPqrFMeyAJ0yg3OUBSnX5A5GBU9zgUAkweLbxECoCC+dJMa96+R9F92CGTXW0t5K+QYF fwvR2CoAeukpkyouOmgaD4cqnMQPAsI/NT7NCq0c1CEkDUhFBiYVOQZe4ZY9LRzU8Gxt7O O41lzgJc9Ts/4BdEB8a5NyGnkxiCKwS9Lij8k2IcdVh8t/Gtp6vCZEb5bHWszuIJ6iQmxh biR7oUic0Iss7rOLeiwfR4lQoikKOChWbf0i7aJHVAje54iGv7dO9dPAEnYZ6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4Wr72BDDzZSb for ; Mon, 02 Feb 2026 16:13:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 190ef by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 16:13:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 4d73b07d02d1 - main - diff: fix support for -l with new diff algorithm List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d73b07d02d12cdff0558d3ca6c4b3224cae831f Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 16:13:27 +0000 Message-Id: <6980cd27.190ef.35cb2e92@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4d73b07d02d12cdff0558d3ca6c4b3224cae831f commit 4d73b07d02d12cdff0558d3ca6c4b3224cae831f Author: Baptiste Daroussin AuthorDate: 2026-02-02 15:43:29 +0000 Commit: Baptiste Daroussin CommitDate: 2026-02-02 16:13:16 +0000 diff: fix support for -l with new diff algorithm MFC After: 3 days Reviewed by: des Differential Revision: https://reviews.freebsd.org/D55052 --- usr.bin/diff/diff.c | 1 + usr.bin/diff/diff.h | 1 + usr.bin/diff/diffreg_new.c | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/usr.bin/diff/diff.c b/usr.bin/diff/diff.c index 83aa20c52cf3..1aba09f7a5f7 100644 --- a/usr.bin/diff/diff.c +++ b/usr.bin/diff/diff.c @@ -249,6 +249,7 @@ main(int argc, char **argv) usage(); break; case 'l': + dflags |= D_PAGINATION; lflag = true; break; case 'N': diff --git a/usr.bin/diff/diff.h b/usr.bin/diff/diff.h index 74be55db8a33..4bea23db1ab8 100644 --- a/usr.bin/diff/diff.h +++ b/usr.bin/diff/diff.h @@ -80,6 +80,7 @@ #define D_STRIPCR 0x400 /* Strip trailing cr */ #define D_SKIPBLANKLINES 0x800 /* Skip blank lines */ #define D_MATCHLAST 0x1000 /* Display last line matching provided regex */ +#define D_PAGINATION 0x2000 /* Paginate via pr(1) */ /* Features supported by new algorithms */ #define D_NEWALGO_FLAGS (D_FORCEASCII | D_PROTOTYPE | D_IGNOREBLANKS) diff --git a/usr.bin/diff/diffreg_new.c b/usr.bin/diff/diffreg_new.c index f54cd554ccad..d932764bb6da 100644 --- a/usr.bin/diff/diffreg_new.c +++ b/usr.bin/diff/diffreg_new.c @@ -33,6 +33,7 @@ #include #include +#include "pr.h" #include "diff.h" #include #include @@ -146,6 +147,7 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) { char *str1, *str2; FILE *f1, *f2; + struct pr *pr = NULL; struct stat st1, st2; struct diff_input_info info; struct diff_data left = {}, right = {}; @@ -178,6 +180,9 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) f1 = openfile(file1, &str1, &st1); f2 = openfile(file2, &str2, &st2); + if (flags & D_PAGINATION) + pr = start_pr(file1, file2); + if (capsicum) { cap_rights_init(&rights_ro, CAP_READ, CAP_FSTAT, CAP_SEEK); if (caph_rights_limit(fileno(f1), &rights_ro) < 0) @@ -271,6 +276,8 @@ diffreg_new(char *file1, char *file2, int flags, int capsicum) status |= 1; } done: + if (pr != NULL) + stop_pr(pr); diff_result_free(result); diff_data_free(&left); diff_data_free(&right);