CiderPress2 icon indicating copy to clipboard operation
CiderPress2 copied to clipboard

Minor command-line issues

Open fadden opened this issue 3 months ago • 0 comments

(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.

fadden avatar Sep 14 '25 16:09 fadden