Date: Sat, 23 Dec 2017 19:14:49 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 224552] 'od -c' show wrong char when it is a non-printable Message-ID: <bug-224552-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224552 Bug ID: 224552 Summary: 'od -c' show wrong char when it is a non-printable Product: Base System Version: 11.1-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: freebsd-bugs@FreeBSD.org Reporter: pru13allan@telia.com The command 'od -c' show the wrong last character on each line if it is a non-printable in the current language (LANG) Tested with LANG=3Dsv_SE.UTF-8 on: FreeBSD fsbd1 10.3-RELEASE-p24 FreeBSD 10.3-RELEASE-p24 #0: Wed Nov 15 04:5= 7:40 UTC 2017 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 FreeBSD fbsd2 11.1-RELEASE-p4 FreeBSD 11.1-RELEASE-p4 #0: Tue Nov 14 06:05:= 10 UTC 2017 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386 FreeBSD rpi1 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r320146M: Tue Jun 20 09:5= 9:03 MDT 2017 raspberry@hive.raspbsd.org:/usr/home/brd/rpi3/crochet/work/obj/arm64.aarch6= 4/usr/src/sys/GENERIC arm64 Steps to reproduce: This is OK [root]# printf 'abcde\345\344\366\374\351\305\304\326\334\311\n' | od -c 0000000 a b c d e 345 344 366 374 351 305 304 326 334 311 \n When the string gets longer and 'od' start a new line the last octet get scrambled. The '012' should be '311': [root]# printf 'Xabcde\345\344\366\374\351\305\304\326\334\311\n' | od -c 0000000 X a b c d e 345 344 366 374 351 305 304 326 334 012 0000020 \n=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 When the string get even longer it is obvious that 'od' is copying first ch= ar on second line to last char on first line: (Last char on first line ('311') should be '334') [root]# printf 'XYabcde\345\344\366\374\351\305\304\326\334\311\n' | od -c 0000000 X Y a b c d e 345 344 366 374 351 305 304 326 311 0000020 311 \n If you are on a system other than UTF-8 you can get the same symptoms by specifying LC_ALL: printf 'XYabcde\345\344\366\374\351\305\304\326\334\311\n' | LC_ALL=3Den_US= .UTF-8 od -c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-224552-8>