[BUG]B3DRasterizerPlugin class>writeSupportcode:

Tim Rowledge rowledge at interval.com
Sat Oct 23 02:21:08 UTC 1999


B3DRasterizerPlugin class>writeSupportCode:  doesn't use CrLfFileStream
to write out the file and so they all need post-generation conversion.

B3DEnginePlugin class>translateB3D _does_ use CrLfFileStream, but the
filename given is '/tmp/Ballon3D.c' which is quite wrong - it assumes
the directory separator is $/ and assumes that a directory 'tmp' exists
and anyway filenames are supposed to be FILE names not directory paths.
The filename should be constructed properly.

Of course, if CrLfFileStream passed the offered string through the
#fullName: methods in the way it should, some of these mistakes would be
caught more efficiently. To quote from a mail a while ago on this
subject:-
>We agreed long ago that filenames needed to go through a canonicalization
>process before being passed to the prims, so that platforms could have
>a chance to handle too-long, bad-characters, etc etc situations.

I offered a simple, effective, but horribly ugly fix for this some time
ago but honestly folks it's time to separate the naming stuff from the
streaming stuff. They don't belong together.

tim

-- 
If God had intended Man to program, we would be born with serial I/O ports.
Tim Rowledge:  rowledge at interval.com (w)  +1 (650) 842-6110 (w)
 tim at sumeru.stanford.edu (h)  <http://sumeru.stanford.edu/tim>





More information about the Squeak-dev mailing list