fadden
(1) Invalid filenames aren't being caught by "mkdir" (and possibly others): ``` $ cp2 mkdir foo.2mg "x::y" Unhandled exception. System.ArgumentException: invalid pathname: 'x::y' at CommonUtil.PathName.SplitPartialPath(String pathName, Char[] dirSepChars) in C:\Src\CiderPress2\CommonUtil\PathName.cs:line 213 at cp2.Mkdir.DoMkdir(IFileSystem fs, String newDirPath, IFileEntry curDirEnt, ParamsBag parms) in C:\Src\CiderPress2\cp2\Mkdir.cs:line 76 at cp2.Mkdir.HandleMkdir(String cmdName, String[] args, ParamsBag parms) in C:\Src\CiderPress2\cp2\Mkdir.cs:line 56 at cp2.CP2Main.Main(String[] args) in C:\Src\CiderPress2\cp2\CP2Main.cs:line 345 ``` The failure is expected, but should be presented as a helpful error message instead of a stack dump. (2) Filenames with a leading volume delimiter ('/' or ':') are being treated as if they were a partial path with an empty leading component: ``` $ cp2 mkdir foo.2mg ":newdir" creating Q/newdir ``` (The ProDOS filename fixer uses "Q" when passed an empty string.) This should be failing because you're not supposed to specify full paths. (3) The `System_6.0.1.zip` archive from Asimov has an entry that looks like this with "unzip -v": ``` Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Defl:N 5 0% 2002-08-11 06:04 00000000 System 6.01/Icon^M ``` The CLI shows the ^M (invisibly) and shows the size weirdly: ``` Type Auxtyp Modified Format Length Size Name ---- ------ --------------- ------- -------- ---- ------------------------------ ---- ---- 11-Aug-02 06:04 Deflate 0 999% System 6.01/Icon ``` Also, the GUI has a double-height row because of the ^M. The Linux unzip utility discards the ^M.