⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 history

📁 汇编大全 中国矿业大学计算机学院 汇编实验5
💻
📖 第 1 页 / 共 5 页
字号:
Note, this history contains mail addresses and ftp locations that no longerexist, such as addresses at wsmr-simtel20 and directory names containingw8sdz, among others.  For problems, the correct email address iszip-bugs@wkuvx1.bitnet------------------------ Nov  7  1990   version 0.0 ------------------------------------------------ Nov  8  1990   version 0.1 ------------------------------------------------ Nov 12  1990   version 0.2 ------------------------------------------------ Nov 14  1990   version 0.3 ------------------------Thank you for your comments.  Here is Zip 0.3 with almost all of that fixed.The changes include:1. Put \n\ for newlines in long strings (everyone had this problem).2. Wrote my own bsearch (called search---different args).3. Wrote my own timelocal (called invlocal), used whether STDC or not.   (Note to Greg: look at the code---I found a simple way to do it.)4. -m now deletes empty directories also.5. Changed crc.c to util.c and put search() in util.c.6. Changed "void *" to "voidp *" and made voidp void for STDC, else char.7. Removed -a option.8. Some minor changes to zip.doc.I did not do anything about Cliff Manis's problem with DIR not beingdefined.  DIR should have been defined in sys/dir.h.  If it wasn't, thenthere's something wrong with dir.h, or it is missing, or the opendir, etc.functions are missing.  I don't really want to think about what to do forthe latter possibility.NUnzip 3.99 does not appear to be Unix-ready.  It fails for file names longerthan 12 characters (Segmentation fault), cannot find explicit names thatdo not contain a dot, and does not notice the Unix identifier (which shouldswitch off name to lower-case mapping).------------------------ Nov 20  1990   version 0.4 ------------------------Yo Zippers,Here is a first attempt at a Zip intended to work on System V.  Try using"make sysv" for such systems.  I also included replacements for memset()and memcmp() by Bill Davidsen and James Dugal for systems without those.Use "make old" to include those routines.  Sun's use getdents() like Sys V,even though it's BSD, so use "make sun".  For others, try just "make".When using "make" a second time with a different request, it's best to eraseall the .o files to force recompiling everything.What follows are the changes I made and some things to try if you get itcompiled.  Have fun.MarkChanges from Zip 0.3 to Zip 0.4:1.  Changed third arg of search() to size_t to make lint happier.2.  Replaced zip.doc with a man page, zip.1 (raw) and zip.man (formatted).3.  rename() replaced with link() and unlink().4.  Fixed vem in central header and added REVISION and REVDATE #define's    to zip.h.  (Didn't read Phil's appnote.txt carefully enough there.)5.  Removed prototypes except for development host (NeXT).  (They're only    there for my benefit anyway---they should not affect the resulting    code.  Consider them some meager documentation.)6.  Changed rindex() to strrchr().7.  Improved behavior on a write failure when -b is used.8.  Added Bill Davidsen's and James Dugal's memset(), memcpy(), and    memcmp() routines under the trusty ZMEM #define.9.  Check that zip file is writeable before doing any real work.10. Added #ifdef REGEX to use regcmp(), regex() instead of re_comp(),    re_exec().  (We'll see if this works.)11. Replaced opendir(), readdir(), closedir() with my own opend(), readd(),    and closed() routines that use getdirentries() on BSD and getdents() on    System V (I hope) and Sun's.  An #ifdef DIRENT selects getdents().12. zip.h no longer #includes string.h, instead defining the string    functions used explicitly.If you get Zip 0.4 to compile, here are some things to test:1.  Try zipping up some stuff, of course.  Use all the options that are    implemented.  Especially try -rp and -rpm on a directory tree (use    *test* files and directories, of course).2.  Naturally check with unzip -t, but also check with "zip xxx" where    xxx.zip is the zip file.  This should say "nothing to do", but if it    says "error in zip file structure", there's a problem.3.  After zipping, check that there are no $Z* files leftover.4.  Try using -b, specifying a path on another device.  Check for $Z*'s.5.  Try -d and a regular expression (like \*.o) on a zip file.6.  And I'm interested in timing---try it on a 500K or so text file.------------------------ Nov 27  1990   version 0.5 ------------------------Hail fellow zippers,Here's Zip 0.5.  The biggie is it now includes implosion, courtesy of RichWales.  Even as we speak, he is working on new algorithms for implode thatpromise to be significantly faster.  He might even get a paper out of it ...You can use the -s option (shrink only) when testing to save a little time,but also try it normally to test implosion (if you test with text filesof reasonable length, implosion will be chosen for most of them).  Also, forspeed testing of implosion, use -i to not waste time trying to shrink.Including implosion about doubles the size of zipnn.tar.Z, so I would likesome input on distributing subsequent versions.  Would y'all like to keepon getting the uuencoded version via mail, or would you prefer a noticeabout availability via anonymous ftp on simtel20.army.mil in <w8sdz.zip>?(I have been sending the previous versions to Keith to put there, and willcontinue to do so.  I do not know what the lag time is for him to move itthere.)The other important change is that this is another attempt at getting thedirectory access routines working on all systems.  Read the installationpart of the manual page (zip.man).  And if you feel like, read the wholething.  I'm also taking suggestions for and bugs in the documentation.The differences from Zip 0.4 include:1. Changed all occurences of "size_t" to "extent" and typedef'ed extent   to size_t (after an #include <stddef.h>) for ANSI C, or unsigned int   otherwise.  If anyone finds that they have a non ANSI C, that size_t   is defined, and that it is not the size of the compiler's int, then   please let me know.2. Changed help() to put the help text in a static array of strings and   then printf() for each line.  Some compilers barfed on the long   string.  Suggested by davidsen@crdos1.crd.ge.com.3. Added Rich Wales' implode routines, made their inclusion the default   (changed #ifdef IMPLODE to #ifndef NOIMPLODE).4. Put "extern int errno;" in unixfile.c (redundant extern's should be ok).5. Minor changes to the man page (zip.1 and zip.man).6. Added warnings for names given on the command line that are not matched.   Lack pointed out by grimesg@sj.ATE.SLB.COM (George).7. Changed back to opendir(), etc. on BSD systems.8. Added NDIR #define for HPUX to #include <ndir.h> instead of <sys/dir.h>.9. Redid Makefile, adding next (use shared library), sysvpw (System V's   that require linking the libPW library for regex routines), and hpux   (see #8 above).As usual, report problems to info-zip@wsmr-simtel20.army.mil.  If you wish,you can, in addition, send the same report to me (madler@piglet.caltech.edu)or Rich (wales@cs.ucla.edu) if the problem is with implosion (i* files) forquicker reponse.your humble servant,Mark Adler------------------------ Dec  7  1990   version 0.6 ------------------------Greetings and Felicitations Honorable Zip Compatriots,I have uploaded Zip 0.6, which incorporates most of your helpful comments,to Simtel20.Army.Mil, and it should evenually end up in <W8SDZ.ZIP> asZIP06.TAR-Z.  The most significant change is the addition of encryptionboth as the -e option in Zip, and a new program, ZipCloak, that encryptsand decrypts zip entries.  This surely adds some new portability problems,due to the getp() routine which reads a password from the terminal with noechoing.  We'll see how well this flies ...If someone wants to PKZIP up the tar.Z file, please do so.  I didn't zipit up myself because a) I'm lazy, and b) PKZIP can compress it betteranyhow, and I don't have a PC.Also, there is an EXPORT symbol used to remove encryption, so I can makean export version that does not have -e or ZipCloak.  This version willsimply be missing a few source files and have a different Makefile.I also added a few systems to the Makefile, and made some other changes toit based on all your detailed comments.  If it still works after all that,I'll be amazed.Those and other changes from 0.5 to 0.6 are detailed at the end of this note.I have not addressed the portability problem with the implode routines,since that is Rich's domain.  I have no idea what is causing it.  (For thosewho don't know, one system produced remarkable 90% compression rates withimplode, but alas, it is a bug.)One fellow complained that zipping up the README file results in a zip filethat is larger than the original, even though Zip claims it compressed it.Well, it did compress it, but the ZIP file format has an overhead of76+2*N bytes per file+22 bytes, where N is the length of the file name.And that's without comments or "extra" information.  So, a zip file with asingle file whose name has six characters has an overhead of 110 bytes.README gets shrunk by 16% from 274 bytes to 230 bytes, resulting in a totalzip file size of 340 bytes---larger than the original file (274 bytes).The moral is don't expect zip to compress a single small file.  The othermoral is use unzip -v to see the compression.Someone else asked about multi-disk zip files.  I'm not sure I believe inthose, since PKZIP and PKUNZIP do not appear to suppport them (though it ispart of the ZIP file definition in APPNOTE.TXT).  What I was planning ondoing for that case was to write a ZipSplit program that would take a largezip file and try to optimally split it into the fewest number of zip filesthat are all less than the specified size.  Each would be a complete, standalone zip file---not part of a single, multi-disk zip file.  There wouldalso be a ZipMerge program.This is the version of Zip that will live in infamy (note the revision date).Of course, some current Presidents of the United States think that should beSeptember 7th, but I won't name any names.I am going on vacation for about two weeks, so I expect to find many newproblems reported upon my return.And lastly, for my Holiday Greetings: Party On Dudes.Mark Adlermadler@piglet.caltech.eduHere are the changes from Zip 0.5 to Zip 0.6:1.  Minor documentation changes (zip.1 and zip.man).2.  Fixed an embarrasing lack of recursion in opend/readd/closed functions    that only existed in 0.5.3.  Moved $(LDFLAGS) to end of the linking command line in Makefile.4.  Added make dnix for DNIX 5.2, 5.3 not using optimization (no -O).5.  Wrote ZipCloak for encryption and decryption.6.  Rich changed the output routines of implode to use zfwrite and zputc to    provide hooks for encryption (defined in crypt.h).  Also removed    function prototypes unless PROTO defined.7.  Added encryption (-e) to Zip.8.  Added make pyramid (use rindex() instead of strrchr()).9.  Changed make to $(MAKE) and cc to $(CC) in Makefile.10. Took out strip in Makefile.11. Changed year from 1991 to 1990.  (How'd *that* get in there?  Of course,    it's not as bad as when I wrote a check the other day and dated it 1977.    I think my brain cell isn't working as well as it used to.)12. Added make cray (use scc instead of cc).13. Added make amdahl (use system() instead of rmdir()).14. Added entry of one-line comments for added files (-c).15. Put comment delimiters around name following #endif's in Rich's code.------------------------ Feb 13  1991   version 0.7 ------------------------Fellow stuck zippers,Well folks, it's been a while since 0.6. so there have been a lot ofchanges on the way to 0.7.  The exhaustive listing is below, but here aresome highlights ...Implode now (appears) to be PKUNZIP compatible.  There were many oddlittle requirements implosed by the coding of PKUNZIP that were obtainedfrom Phil Katz and associates.  Now that Rich has that working, he willlikely be working on much faster string matching routines to speed upimplode.User interrupts (control-C or kill) are now caught and the temporary filesare deleted, making for a clean getaway.Self-extracting zip files for MSDOS can now be processed, with theextensions zip, ZIP, exe, or EXE.  This allows you to make self-extracting

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -