From: Pádraig Brady
Date: Wed, 11 Mar 2026 22:06:43 +0000 (+0000)
Subject: cut: support single byte -d with GB18030 input
X-Git-Tag: v9.11~123
X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=32f1de5b4fccc5adf81827d26dd7348f07c5a19c;p=thirdparty%2Fcoreutils.git
cut: support single byte -d with GB18030 input
* src/cut.c
* tests/cut/mb-non-utf8.sh
* tests/local.mk
---
diff --git a/src/cut.c b/src/cut.c
index 39626fd907..82e9065b69 100644
--- a/src/cut.c
+++ b/src/cut.c
@@ -249,7 +249,8 @@ is_range_start_index (uintmax_t k)
static inline bool
single_byte_field_delim_ok (void)
{
- return delim_length == 1 && (MB_CUR_MAX <= 1 || mcel_isbasic (delim_bytes[0]));
+ return delim_length == 1
+ && (MB_CUR_MAX <= 1 || to_uchar (delim_bytes[0]) < 0x30);
}
static inline bool
diff --git a/tests/cut/mb-non-utf8.sh b/tests/cut/mb-non-utf8.sh
new file mode 100755
index 0000000000..00d9d0467c
--- /dev/null
+++ b/tests/cut/mb-non-utf8.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+# Test cut with non-UTF-8 multibyte locales.
+
+# Copyright (C) 2026 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see