home *** CD-ROM | disk | FTP | other *** search
- ;v1.7a VERY minor tweaks to Gisbert's latest significant rewrite! (24 Oct 89)
- ; (mainly because I'm still figuring out some of the logic!)
- ; That's one tricky file name parser!
- ; - Removed old version numbers (earlier than v1.7)
- ; - Seems to work, so deleting the big chunks of commented-out code.
- ; - Why do you put variable names in brackets, Gisbert?
- ; I do that ONLY when I'm using that variable (a word) as a
- ; pointer .. that way it jumps out at me.
- ; Compiler's don't seem to mind!
- ; - Re-tabified (again .. sigh .. doesn't TASM have an ASCII 9 tab?
- ;
- ; Ain't this international joint hackery fun?
- ; Toad Hall
-
- ;v1.7 Another round from Bonn (20 Oct 89):
- ; - fixed a bug in ZIP file name parsing: wouldn't accept a parent
- ; dir in path ('..\blah'), nor dirs including .TYPEs (WHO uses those??)
- ; - leave .TYP of zip file alone if specified on command line; why force
- ; it to ZIP?? (Assuming the user knows what she does.)
- ; - David's complaint about missing file name expansion routines pitied
- ; me; so here's neat parsing, and the way DOS always should have worked:
- ; 'a*d' will match 'ad' and 'abd' and 'abcd' but not 'a' or 'ab'...;
- ; 'a?d' will match 'abd' but not 'ad'. Side effect: 'foo*' will
- ; match 'foo' and 'foo.bar' - period is just an ordinary char.
- ; This applies to ZIP members only, not to ZIP file names! (Could
- ; be done easily, though. Too lazy for now. See comments in Find_ZIP.)
- ; Thanks to Gunter Rademacher for a fine algorithm.
-
- ;v1.6b Back at Toad Hall ... (28 Sep 89)
- ; - Removed old commented-out code (via v1.5, v1.6, v1.6a changes).
- ; - NICE ideas in v1.6a .. attaboy, Gisbert!
- ; - No significant changes .. just cleaned up, making a "formal"
- ; release from Toad Hall.
- ; - Suppose we oughtta put in yet ANOTHER cmdline switch (-c or
- ; something) for those who actually wanna pipe names (paths'n'all)
- ; to StdOut. (The -c means omit ZIP comments.)
-
- ;v1.6a GWS (yeah, hacking away in West Germany's capital village) strikes again
- ; - Cleaning up verbose display:
- ; Some columns were one off. Also, change name alignment slightly.
- ; - Added /m ('monosyllabic') command line switch:
- ; This will show full names, paths'n'all, as stored in the Zip,
- ; one per line, and nothing else. May be nice for piping into
- ; other programmes. - Beware of the header lines, though.
-
- ;v1.6 - v1.4a Changes:
- ; Gisbert Selke (all the way from Germany, I think) tweaked the earlier
- ; v1.4 (see v1.4a comments).
- ; I kept his changes (that I hadn't already added in v1.5 myself),
- ; incorporating them into the v1.5 code. (Of course, just HAD to tweak
- ; his changes as well!)
- ; - Member filenames:
- ; Still considering shifting filenames to the right hand side of
- ; the screen output. That would permit long (path) filenames to be
- ; displayed/output (with screen wraparound handling the weird,
- ; extra-long ones). I believe that's why the PKZIP (Katz) author
- ; formatted his display that way. But the member names on the right
- ; is NOT convenient to me! Leaving it the original way (member file
- ; names on the left).
-
- ;v1.5 Updating for PKZIP v1.01
- ; - Added "implode" to file compression style table
- ; (plus other tests to insure we catch illegal values).
- ; - Adding an "E" before the compression style
- ; (to indicate if file is encrypted) (verbose only).
- ; - Found bug in testing for ZIP member filename paths:
- ; PKZIP uses the "/" char for subdir separator instead of "\".
- ; Fixed.
- ; - Tightened up code for path-testing,
- ; extended the "+" path flag display for verbose as well as
- ; nonverbose displays.
- ; No, we aren't displaying paths yet.
- ; - If using wildcard member option (in verbose mode),
- ; we don't display verbose header until we find a qualifying
- ; file.
- ; - Total and total total displays: More than one qualifying member
- ; file must be found before the figures are displayed. (This is
- ; for verbose mode only.)
- ; - Totals (qualifying member files, each ZIP)
- ; - Total totals (qualifying member files, ALL qualifying ZIPs)
- ; - WildCard searches:
- ; Considered not displaying a target .ZIP file's name at ALL
- ; if it has no "eligible" member wildcard contents (to shorten
- ; output to just those .ZIP files (and members) found in a wildcard
- ; search. However, decided a non-find is valuable information.
- ; At least the .ZIP file name will be output.
- ;
- ; - Removed earlier v1.n flags from code
- ;
- ; Considering processing file names (vname) to handle "long" names
- ; (e.g., those with paths).
- ; Paths would probably only be displayed in verbose mode
- ; (on a separate line, or maybe to screen right, letting screen
- ; display handle "wraparound").
-
- ;v1.4a Gisbert W.Selke (RECK@DBNUAMA1.BITNET for now): allow '/' as
- ; switch char, too (for them die-hard DOS people like myself).
- ; Output rrrrreal 4-byte CRCs. Add text for 'Imploded'.
-
- ;v1.4 Keith Petersen (W8SDZ@WSMR-SIMTEL20.ARMY.MIL) informs me ZDIR
- ; is failing on a lot of ZIP files from local BBS's. Seems the BBS's
- ; are adding huge comments, and ZDIR can't find the central directory.
- ; Increasing ENDOFS (the amount of ZIP file trailer we read in)
- ; to allow for this.
- ; Keith also suggested the verbose mode as default .. but I don't agree!
- ; If I wanted verbose, I would have used PKZIP -v in the first place!
- ; Also programs like Buerg's ZIPV do that just fine.
-
- ;v1.3c Bug: I'd written code to handle no cmdline parms at all,
- ; but failed to test it! Turns out system locks up!
- ; Thanks to FAAR RBBS for alerting me. Sloppy testing procedures.
-
- ;v1.3b Bug: Forgot the added "-v" verbose switch as the FIRST PSP
- ; cmdline argument would blow away using our PSP FCB's to get
- ; the parsed member filename.
- ; Using _Args (from KEGELUNX unix-like cmdline parsing)
- ; to handle the -v switch anywhere on cmdline.
- ; (Affects Parse_CmdLine only.)
-
- ;v1.3a 23 Mar 89
- ; - Adding file comment display to verbose mode.
- ; - Because of the occasional padding (by XMODEM) of garbage to the
- ; end of a file, we're back to reading a full 256 bytes at the
- ; ZIP file end to find that end structure (149 bytes for the largest
- ; likely ENDDIR structure, plus the padding to the next 128 boundary).
- ; If you don't HAVE any of these files, change ENDOFS back to 149.
-
- ;v1.3 22 Mar 89
- ; - Adding verbose display (a -v switch).
- ; Cribbing code from QBARCV3.ASM (my improvements on QBARV2.ASM,
- ; a utility for RBBS ARC/PAK displays).
- ; Usage: ZDIR -v foob (yep, -v must be first parm)
-
- ;v1.2 21 Mar 89
- ; - Missed the obvious .. the very last structure in a ZIP file
- ; (call it ENDDIR) contains a pointer to the central directory.
- ; Since the only variable length fields in that last structure
- ; are fairly short (zip comments, etc.), it should be MUCH smaller.
- ; We won't need that huge 5Kb SWAG for the initial directory read.
- ; Cutting buffer down to 128 bytes, reading in ENDDIR to get that
- ; central directory pointer, and then going right to central directory.
- ; Since the max possible ZIP file comment (in ENDDIR) is 7FH bytes,
- ; the max possible ENDDIR would be 7FH + 22 (normal structure size)
- ; or 149 bytes (ENDOFS).
- ; - Moved initial cmdline parsing down to code end
- ; (just to clean up things)
- ; - Caught a bug .. failed on a single '*' wildcard cmdline parm.
-
- ;v1.1 18 Mar 89
- ; - Added full pathing capabilities for target .ZIP files.
- ; - Added ambiguous member screening (e.g., search FOOB.ZIP
- ; for just *.ASM files).
- ; - Cleaned up the kludgey ADIR wildcard finds with all its
- ; multiple DTAs, etc.
- ; - Still no way to test for member filename paths.
-
- ;Original ADIR.EXE fixes:
- ; - Fixed bug that never closed any files!
- ; - Changed to .COM format, tightened, etc.
-
- ;ZIP functional changes: MANY! I consider this almost a total rewrite
- ;(except for the kludge with wildcard finds from the original ADIR.EXE).
- ;(So that's settled now, too.) v1.7
-
- ; - Since the filename length is variable (and may include paths),
- ; the handling, formatting and display is significantly different
- ; than in ADIR.
- ; - Have to put back the ambiguous member parsing.
-
- ;David Kirschbaum
- ;Toad Hall