From nobody Thu Sep 28 16:38:00 2023 X-Original-To: dev-commits-src-all@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 4RxK0S45Nzz4v21j; Thu, 28 Sep 2023 16:38:00 +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 4RxK0S3Sqzz4YJL; Thu, 28 Sep 2023 16:38:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695919080; 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=Wv66meaZj1K618mz053ZWH1Ku2cfCdLlUUj5cPXOjFw=; b=FrRYMDMNQh2tY1mk+WQGWqg5OACvayBcwIIz59KquC0r1wPYjDioHI5Zt23LGs1cWSTT4M zry534j/hGq0jctKW9BXYY9o9MQ7iU31CNc/q1Re8jBZkfzlJQ0VlmUBm7ra1afYFzh8q0 OwHwRR56U3HkajJT4yvLe/Phqx0iZj9SlHMw1O5G0bjIMr5Tp6xe40oWS1/SPoPQXtMIEZ dZFRtVtusjFovWJFM8aIneo7YmAj5XDg7cip94byh/16XROyAW4e7czZnrXIsb9+X8mIUu Q/gku1T/F60f7W4RZORztJtjL7g26Crtlqv34NDS5zD4WrOm4Wdc/D8wNqONzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695919080; a=rsa-sha256; cv=none; b=GRfZQjCUkhBWABri9jsy3MEB56rRRk4CmYJFYlAbIpmyKmNU7f3pr/qd86k2Xa7bORRb8L appnW5UF4v9zUhfpQA8Gfl5ZHaLcM1S4RtFJvxYCe4crLJTNJNsDJI4P5vfauESzxPEYUR qhtLT+IKb/kXy6JGhUs2+nVXQm23+LPHanmbPuC3yAO53g1DfsZCTAA0meGxDjWgY8QW8s ytbHLf8So1klBfWGPHZf80fxHmYKwXwbiqrvTcxF6Nz5qOA1MCklOAzE1tygmPEnPUGGVs 3jk6JxMlVRdMYEBdsYXuLsZKPH/2RdAj0uAnVFP3VsnWRGR9jN81JXj1kbSp8A== 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=1695919080; 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=Wv66meaZj1K618mz053ZWH1Ku2cfCdLlUUj5cPXOjFw=; b=yag7M8g6lQC3f3+/9jDb3ym0j12TWyApUTAdbJJdOg/WUEXwuW6pvKD+TAvWybbM58G5Dz wcSQ5ttZDqZUSFwT+HbyI1QRNVqjPIDqAu2ZcP9euJ1A0WHscxCeSY0PNJTa9ecF/ntzYM wiz1IdWuWp3VbmYb4cH6HGn3TSzXO8lLNs29bUxQs6DZZO+lH/RFibNdJCYo7RVSBLaawJ 3D3a3JyQsmSv7lP4w6E5Akuv37J2yn+fvs0SLy9WnJ3jQ4qqY+SvTPkdah+LEEvJzt6+DH yHEVQNldVDCIAOT2xF826H2dA93Dp+YIuc9YFOkoDnkjSKLG2iLZ9oWXcQHDxw== 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 4RxK0S17VdzVWt; Thu, 28 Sep 2023 16:38:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38SGc00n090012; Thu, 28 Sep 2023 16:38:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SGc02g090009; Thu, 28 Sep 2023 16:38:00 GMT (envelope-from git) Date: Thu, 28 Sep 2023 16:38:00 GMT Message-Id: <202309281638.38SGc02g090009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: d9d69a6f6fc1 - main - split: Improve GNU compatibility. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9d69a6f6fc1f8d80df9ce6493e8ab9388781615 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d9d69a6f6fc1f8d80df9ce6493e8ab9388781615 commit d9d69a6f6fc1f8d80df9ce6493e8ab9388781615 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-28 16:30:00 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-28 16:30:16 +0000 split: Improve GNU compatibility. * Like GNU split, turn autoextend back on if given -a0. * Add a test case that verifies that -a turns autoextend off. * Add a test case that verifies that -a0 turns autoextend back on. Sponsored by: Klara, Inc. Reviewed by: christos, kevans Differential Revision: https://reviews.freebsd.org/D42011 --- usr.bin/split/split.c | 7 ++++++- usr.bin/split/tests/split_test.sh | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/usr.bin/split/split.c b/usr.bin/split/split.c index ba98d82b25c4..e246a0d4adfc 100644 --- a/usr.bin/split/split.c +++ b/usr.bin/split/split.c @@ -115,7 +115,12 @@ main(int argc, char **argv) errx(EX_USAGE, "%s: suffix length is %s", optarg, errstr); } - autosfx = false; + if (sufflen == 0) { + sufflen = 2; + autosfx = true; + } else { + autosfx = false; + } break; case 'b': /* Byte count. */ if (expand_number(optarg, &bytecnt) != 0) { diff --git a/usr.bin/split/tests/split_test.sh b/usr.bin/split/tests/split_test.sh index c9b87c01618c..48065719055a 100755 --- a/usr.bin/split/tests/split_test.sh +++ b/usr.bin/split/tests/split_test.sh @@ -209,6 +209,23 @@ autoextend_body() atf_check -o inline:"$((26*25+1))\n" cat xzaaa } +atf_test_case noautoextend +noautoextend_body() +{ + seq $((26*26)) >input + atf_check split -a2 -l1 input + atf_check -o inline:"$((26*26))\n" cat xzz +} + +atf_test_case reautoextend +reautoextend_body() +{ + seq $((26*25+1)) >input + atf_check split -a2 -a0 -l1 input + atf_check -o inline:"$((26*25))\n" cat xyz + atf_check -o inline:"$((26*25+1))\n" cat xzaaa +} + atf_test_case continue continue_body() { @@ -249,6 +266,8 @@ atf_init_test_cases() atf_add_test_case larger_suffix_length atf_add_test_case pattern atf_add_test_case autoextend + atf_add_test_case noautoextend + atf_add_test_case reautoextend atf_add_test_case continue atf_add_test_case undocumented_kludge atf_add_test_case duplicate_linecount