From: SourceForge.net <no...@so...> - 2005-04-01 08:55:53
|
Feature Requests item #577093, was opened at 2002-07-03 17:51 Message generated for change (Comment added) made by vincentdarley You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=360894&aid=577093&group_id=10894 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Vince Darley (vincentdarley) Assigned to: Vince Darley (vincentdarley) Summary: Tcl_(FS)OpenFileChannel and 'rb' Initial Comment: The standard 'fopen()' C function allows the optional "b" mode specifier alongside "rwa+" to specify that the file to be opened is binary. Tcl's Tcl_(FS)OpenFileChannel commands do not support "b" and throw an error if it is given. It would be quite easy to parse out the "b" and do call Tcl_SetChannelOption(NULL, chan, "- translation", "binary") after the channel is opened. Should this be added to Tcl? I don't know enough about generic channels in Tcl to know if it is possible for that action to fail or otherwise cause problems (bear in mind that, with VFS, the channel may not be a file, but could be a memchan, for example). ---------------------------------------------------------------------- >Comment By: Vince Darley (vincentdarley) Date: 2005-04-01 08:55 Message: Logged In: YES user_id=32170 I haven't had time to test right now, but the patch itself looks nice and clean. It would be good to add a new test which writes some stuff to a file in binary and then reads it back and check that \r \n line endings have not been mangled. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-03-31 23:30 Message: Logged In: YES user_id=80530 Turns out doing this at the Tcl_FSOpenFileChannel() level works fine, and spares the VFS drivers from having to do anything. Here's the patch. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-03-24 17:43 Message: Logged In: YES user_id=80530 Actually this is a bit different from TIP 183, which proposes the change only for [open]. That's simpler to do than changing for Tcl_FSOpenFileChannel() since the latter raises questions about what changes each Tcl_Filesystem's Tcl_FSOpenFileChannelProc might have to handle in its "mode" argument. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2005-03-23 18:45 Message: Logged In: YES user_id=80530 This is TIP 183. ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2002-07-04 14:48 Message: Logged In: YES user_id=32170 The behaviour hasn't changed since 8.3, so I guess this is indeed a feature request. One could even imagine a hookable mechanism in the future which allowed other (arbitrary) actions to be taken on open. (Set the 'encoding' automatically might be nice, then perhaps 'source' could deal with unicode files). ---------------------------------------------------------------------- Comment By: Andreas Kupries (andreas_kupries) Date: 2002-07-03 18:53 Message: Logged In: YES user_id=75003 What is the behaviour of 8.3 when using a "b" specifier ? If it is the same I would consider this a feature request, and not a bug. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=360894&aid=577093&group_id=10894 |