Tcl Source Code

View Ticket
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Ticket UUID: 3570790
Title: [exec <<] truncates at NUL
Type: Bug Version: obsolete: 8.6b3
Submitter: andygoth Created on: 2012-09-22 21:01:27
Subsystem: 16. Commands A-H Assigned To: dgp
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2012-09-28 22:34:40
Resolution: Out of Date Closed By: dgp
    Closed on: 2012-09-28 15:34:40
Description:
The "<<" [exec] redirection operator truncates its operand at the first NUL.  Similar does not happen when writing to an [open |] channel.

% exec xxd << ab\0cd
0000000: 6162                                     ab
% exec xxd << ab\1cd
0000000: 6162 0163 64                             ab.cd
% set chan [open |xxd a+]; puts -nonewline $chan ab\0cd; close $chan write; read $chan
0000000: 6162 0063 64                             ab.cd
User Comments: dgp added on 2012-09-28 22:34:40:
allow_comments - 1

andygoth added on 2012-09-28 22:20:46:
Sorry for picking the wrong version, I meant 8.6b2.  Also I tested on 8.4.something, forget exactly what, but it was nowhere close to the latest 8.4.

dgp added on 2012-09-28 22:16:48:
This is fixed in 8.5.12 and 8.6b3 .  You must not really be
testing what you think you are testing.  Use [package present Tcl]
to confirm.

% package present Tcl
8.6b3
% exec xxd << ab\0cd
0000000: 6162 0063 64                             ab.cd
%

dkf added on 2012-09-23 09:20:26:
Relates to http://tip.tcl.tk/259.html