A NOTE has been added to this issue. ====================================================================== https://www.austingroupbugs.net/view.php?id=1959 ====================================================================== Reported By: collinfunk Assigned To: ====================================================================== Project: 1003.1(2024)/Issue8 Issue ID: 1959 Category: Shell and Utilities Tags: tc1-2024 Type: Clarification Requested Severity: Editorial Priority: normal Status: Interpretation Required Name: Organization: GNU User Reference: Section: XCU dd Page Number: 2778 Line Number: 91990 - 91996 Interp Status: Proposed Final Accepted Text: https://www.austingroupbugs.net/view.php?id=1959#c7335 Resolution: Accepted As Marked Fixed in Version: ====================================================================== Date Submitted: 2025-11-13 23:13 UTC Last Modified: 2025-12-16 15:11 UTC ====================================================================== Summary: dd conv=lcase and conv=ucase should only translate single byte locales ======================================================================
---------------------------------------------------------------------- (0007344) geoffclare (manager) - 2025-12-16 15:11 https://www.austingroupbugs.net/view.php?id=1959#c7344 ---------------------------------------------------------------------- > That conv=ascii is meant to be a "EBCDIC" to "ASCII", but with tables that cover values 0 to 255 even though ASCII only has characters for bytes 0 to 127. Good catch. We just assumed the output is ASCII so using tr (with current LC_CTYPE) would be fine. > dd if=/dev/tape ibs=800 cbs=80 conv=ascii | LC_ALL=C tr '[:upper:]' '[:lower:]' I think this is the right solution. > you'd rather use: LC_ALL=C dd if=/dev/tape ibs=800 cbs=80 conv=ascii,lcase then. The standard doesn't specify the order in which those conversions are applied (perhaps it should), so to be portable you'd need: dd if=/dev/tape ibs=800 cbs=80 conv=ascii | LC_ALL=C dd conv=lcase which has the disadvantage over the tr solution that it would produce two sets of block counts. > clarify that those conv=ascii/ebcdic/ibm are legacy stuff of no relevance today They are relevant today to users of z/OS (which is a certified UNIX system that uses EBCDIC). Issue History Date Modified Username Field Change ====================================================================== 2025-11-13 23:13 collinfunk New Issue 2025-12-11 17:17 geoffclare Note Added: 0007335 2025-12-11 17:18 geoffclare Status New => Interpretation Required 2025-12-11 17:18 geoffclare Resolution Open => Accepted As Marked 2025-12-11 17:18 geoffclare Name Your Name Here => 2025-12-11 17:18 geoffclare Interp Status => Pending 2025-12-11 17:18 geoffclare Final Accepted Text => https://www.austingroupbugs.net/view.php?id=1959#c7335 2025-12-11 17:19 geoffclare Tag Attached: tc1-2024 2025-12-15 06:55 ajosey Interp Status Pending => Proposed 2025-12-15 06:55 ajosey Note Added: 0007338 2025-12-16 07:16 stephane Note Added: 0007340 2025-12-16 07:39 stephane Note Added: 0007341 2025-12-16 07:52 stephane Note Added: 0007342 2025-12-16 15:11 geoffclare Note Added: 0007344 ======================================================================
