From nobody Tue Aug 02 13:39:11 2022 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 4Lxx0v5q8gz4Y7jB; Tue, 2 Aug 2022 13:39:11 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Lxx0v5LZbz3VBY; Tue, 2 Aug 2022 13:39:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1659447551; 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=7yKsEC6WfPtBx+8z6Lca6fccqhD2pQhDJI3K3x1r31k=; b=YRT3kk2yxNigG9NXo1MBPusHtAYiJ9iRpa63xWXhh/OTe5uu+Ee+zg5/qgzZvQT8VxFqQM vW/ZR9Hl+8A4BiN4rNdDeJkYRvZ+LB0J0VpSnpPqnRUhzKAGs1QiQnIpIdZaM64sn+19xR XSo+NE87eLyKifb8GsKRHh8QUXBZuk+09uK1LgXBjyBDnIC4ri8vC8pVcx/t8U05aPmBDm SmxGvdGe0funzMlv1zY4NP78CPQprtt/Cbyx0/OPNUv80q8u6hP1rnANI0Pq0Yp0+K1IwT Rt+9Pve65PPzL/n4+n47bKFKzJ3dvDi49IBAX3b2gt/nWB9L7aNgcloBilPT1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Lxx0v45KPzFKW; Tue, 2 Aug 2022 13:39:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 272DdBer020829; Tue, 2 Aug 2022 13:39:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 272DdBBr020828; Tue, 2 Aug 2022 13:39:11 GMT (envelope-from git) Date: Tue, 2 Aug 2022 13:39:11 GMT Message-Id: <202208021339.272DdBBr020828@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: c0e6ccb12ab9 - main - diff3: Use ranges for the old and new diffedits in A scripts 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: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0e6ccb12ab930b122dc18b6079b563bd347155f Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1659447551; 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=7yKsEC6WfPtBx+8z6Lca6fccqhD2pQhDJI3K3x1r31k=; b=omb5hp608ozUFGPdI3a0D6gq8tWa0Ul9u1ogfXMWRgExrLjrlrKK/XlhoeMIzPT99KBBlz Yc2KavjoBq/sRthi0J2iY8tETdaGi792/7ra/P7Hl4826S6YAR2TAxSJruErFlSlzP0qav a3hgNZJqa2EvTFkOpFbc5wUI7j3n5ILFbZvKeFzAUo/4mETQSpDWo/Qd8NnCizLFNGMkNt NQkhNER/zzwmtiygMlof2eo1JWczMmoAdbfDmyoUGtOnhnAECQjOcjxVLkofv7mWJ6Yq2X CxBZ7/llnPIOoBz953x0PG07W0qPc7Yh2bwaYp3BDg1DDpSs8nCgrSFJvvu/6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1659447551; a=rsa-sha256; cv=none; b=ZfzHOH0xtSoo16Ih2yIzW+KvnxQU10p65OmPAvyOsJlhkL7oncG4kXve9HmH79fObeEP0I ad3/YiNmvyghvYhwG7KV2qt6+JJaDsK2SCHxeXiIYqcHxfwy0085QFSyTX7FB0hBhYV3VS QupQYFlMq5pb9xIhPlEV8Ihev448Em9iyjUYJfdptJ8tjHxkzz2x1gm7Q9kpqy3J1p6xSg NQIwxhYroLDbYmpONo6P8azhu/D1M+WG5/lzl0DvCDZnxwHRXQBi1bbDmdm9v5TOLykgUc GpKYXMWzLCR+ZIC8bjtyDZ2s1D2J/hMlnp/jpfse7vYBRYzJKf384lgThFIBGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=c0e6ccb12ab930b122dc18b6079b563bd347155f commit c0e6ccb12ab930b122dc18b6079b563bd347155f Author: Tom Jones AuthorDate: 2022-08-02 13:29:38 +0000 Commit: Tom Jones CommitDate: 2022-08-02 13:37:05 +0000 diff3: Use ranges for the old and new diffedits in A scripts This makes the output logic easier to read. No functional change intended. Sponsored by: Klara, Inc. --- usr.bin/diff3/diff3.c | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c index 37a98a635742..fa0aeb11d008 100644 --- a/usr.bin/diff3/diff3.c +++ b/usr.bin/diff3/diff3.c @@ -714,51 +714,54 @@ Ascript(int n) static void mergescript(int i) { - struct range r; + struct range r, *new, *old; int n; r.from = 1; r.to = 1; for (n = 1; n < i+1; n++) { + new = &de[n].new; + old = &de[n].old; + /* print any lines leading up to here */ - r.to = de[n].old.from; + r.to = old->from; printrange(fp[0], &r); if (de[n].type == DIFF_TYPE2) { printf("%s %s\n", oldmark, f2mark); - printrange(fp[1], &de[n].old); + printrange(fp[1], old); printf("%s\n", divider); - printrange(fp[2], &de[n].new); + printrange(fp[2], new); printf("%s %s\n", newmark, f3mark); } else if (de[n].type == DIFF_TYPE3) { if (!oflag || !overlap[n]) { - printrange(fp[2], &de[n].new); + printrange(fp[2], new); } else { printf("%s %s\n", oldmark, f1mark); - printrange(fp[0], &de[n].old); + printrange(fp[0], old); printf("%s %s\n", orgmark, f2mark); - if (de[n].old.from == de[n].old.to) { + if (old->from == old->to) { struct range or; - or.from = de[n].old.from -1; - or.to = de[n].new.to; + or.from = old->from - 1; + or.to = new->to; printrange(fp[1], &or); } else - printrange(fp[1], &de[n].old); + printrange(fp[1], old); printf("%s\n", divider); - printrange(fp[2], &de[n].new); + printrange(fp[2], new); printf("%s %s\n", newmark, f3mark); } } - if (de[n].old.from == de[n].old.to) - r.from = de[n].new.to; + if (old->from == old->to) + r.from = new->to; else - r.from = de[n].old.to; + r.from = old->to; } /* * Print from the final range to the end of 'myfile'. Any deletions or @@ -768,11 +771,13 @@ mergescript(int i) * If the new range is 0 length (from == to), we need to use the old * range. */ - if ((de[n-1].old.from == de[n-1].new.from) && - (de[n-1].old.to == de[n-1].new.to)) + new = &de[n-1].new; + old = &de[n-1].old; + if ((old->from == new->from) && + (old->to == new->to)) r.from--; - else if (de[n-1].new.from == de[n-1].new.to) - r.from = de[n-1].old.from; + else if (new->from == new->to) + r.from = old->from; /* * If the range is a 3 way merge then we need to skip a line in the