CiderPress2
CiderPress2 copied to clipboard
Minor command-line issues
(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.