history

来自「UUDeview是一个编码解码器」· 代码 · 共 539 行 · 第 1/2 页

TXT
539
字号
## $Id: HISTORY,v 1.47 2004/03/01 23:06:18 fp Exp $#PROGRAM HISTORY---------------(remember that all _dates_ are dd.mm.yyyy) 0.1  (15.06.1994)-----First release. Took less than a week of coding. Most features should work now.All files I encountered can be decoded properly. Some special cases, however,are still untested. This version was updated two or three times withoutupgrading the version number because that were just minor changes. 0.2  (23.06.1994)-----DOS support! After getting some requests for a DOS version, many portions of the code have been completely rewritten so that the file data is not loaded into memory. Instead, just an index is saved. Added +e option to select fileextensions. Added +i option to disable user questioning.Some special cases to evaluate the part no. of the subject line addedAutomatic uncompress / gunzip (need to have them installed)Tar file handling - extract files right out of a tar archive. This is donefrom uudeview itself, so you won't need an external tar. 0.3  (30.06.1994)-----Getting smarter every day. After I found some postings with spelling mistakesin the subject line (namely "something.zip" instead of "something.arj"), Ibegan to program "Smart Part Merging System" (SPMS (R)). It detects that theparts of "something.zip" are just the missing parts of "something.arj" andmerges both files. This feature will still need a lot of maintenance, sincethere are a lot of special cases.Added a ton of features. Now you can list the files or enter commands to doanything with them (you can enter "xv $") to watch the file.Installed a signal handler for SIGINT (Ctrl-C). If the program was interruptedby the user, it left LOTS of temporary files in /usr/tmp. They will now becleaned.Again, the user interface was changed. I did that in 0.2, so why not againin 0.3. I hope you'll agree it's a bit better now.The program now checks if gunzip has failed (it tests if the resulting filehas less than 2 bytes).Fixed a bug with filenames that contained spaces at the end.Linked files in tar archives are now ignored.In 0.2 each file was decoded before the user was prompted what to do. Thiswas quite slow on some machines. Now the files are only decoded on request. 0.3.42-------- I'm quite lazy with documenting all the changes I made to the source code.I hope I will keep online this time. To do this, I have invented the patch-level number. Since I have made a lot of changes to the original 0.3 release,I start with patchlevel 42. 0.3.43--------- gets suspicious if it finds multiple begins/ends within the same post  and opens up a new file record- Treats "BEGIN -- CUT HERE" line exceptionally, because it frequently looks  like valid uuencoded data and fooled the program. The 4-line-safety barrier  didn't catch because the real data followed immediately. 0.3.44  (25.01.1995)--------- added lots of patches to allow for Mime Base64 decoding ... mostly because  I want to decode this Lion King MPEG from alt.binaries.multimedia 0.3.45  (29.01.1995)--------- added XX decoding scheme. Was really simple after having to change every-  thing for the above MIME stuff anyway. Just another decoding table. Hope  it works. 0.3.46  (01.02.1995)--------- included groundworks for desperate mode. I don't know -- should I leave  the '-d' command line option out? 0.3.47  (03.02.1995)--------- written my own more function. previously, I just called system(), but this  was (a) unstable and (b) didn't work in QuickWin- included '(i)' action to show file info; either part 0, or part 1 up to the  begin line- desperate mode finished. Moved the original '-d' (decompress) option to  '-x' (didn't use it anyway, and needs major rewriting) and replaced it  with new desperate option 0.3.48  (04.02.1995)--------- wrote an case-insensitive string compare function. Have migrated the  extension detection to case-insensitivity- added some code to detect some common file suffixes (jpg, gif etc.)  added SPMS check: parts of files will not be merged if they have different  but correct suffixes (if one of the files' suffix is not recognized, it  might just be spelled wrong, so this doesn't prevent merging). This should  stop SMPS from merging together complete junk.- generalized Unix Makefile. Now I only have to change a version number in  one place (well in three places if I consider DOS&Windows with other make  files).- added multiple passes to SMPS. In first pass, only "exact fits" are merged,  in second pass only files with minimal differences, in third pass, everything- stripping some boring headers in file (i)nfo- now it should also accept files with less than 4 lines of data- finally found the 'bug' that declared some final lines as invalid -- the  encoder has stripped unnecessary chars. Added more checks ... 0.4    (06.02.1995)------ After getting no bugreports for a few weeks (either nobody uses the program  or it does work after all), I renamed 0.3.48 to 0.4. There is so much dif-  ferent from the original 0.3 that I simply need to indicate these changes  to users. And besides, it's my birthday :-)- Deleted "ALPHA" indication from the windows version. Now fully integrated.- moved MIME check in front of UUdata check. Strongest semantics first. 0.4.1  (08.02.1995)-------- Added additional check for a part number on the subject line:  "test.gif 3 of 4" was detected to be 4, now done correctly. 0.4.2  (10.02.1995)-------- bugfixed uudeview.c:IsKnownExtension() which would core dump on some  systems due to NULL read access. Thanks to J. Wilkinson,  <jcw@stuey.eng.pko.dec.com> for pointing out the problem.  This isn't fatal for DOS, and also shouldn't be fatal in Windows. 0.4.3  (14.02.1995)-------- some people couldn't compile the Unix version because I used two  non-standard string functions, strrstr() and strdup(). Thought they  were defined everywhere. Now I've written them on my own.- moved _FP_strnicmp() to uuutil.c 0.4.4  (24.02.1995)-------- trimmed comments in header files because some compilers warned about  "nested comments"- fixed annoying bug in CheckGlobalList() that caused infinite loops  and may also have caused core dumps if more than 98 parts were missing  from a posting- added another clause to the detection of a part number on the subject  line after getting a file by the name of abc-1019.gif, where a part num-  ber of 1019 was detected 0.4.5  (02.03.1995)-------- Added workaround for Netscape, which completely messes up encoded data  on some setups. It replaces &,<,> by their html equivalents and occasio-  nally inserts some junk HREF links. Now whenever an invalid line is found,  it is NetscapeCollapse()d, in the hope it's decodeable afterwards. 0.4.6  (11.04.1995)-------- wow, I just see that it's been a long time since the last bugfix. I guess  it is indeed getting better :-)- UUdeview would ignore files with double-spacing (one line of data followed  by an empty line). Now, all empty lines are ignored. I just hope this  doesn't add problems elsewhere. Thanks to Gary for this one.- a slight bug in the Base64 detection made the program fail to pick up the  destination filename when quoted 0.4.7  (07.05.1995)-------- the mime detection was looking for the "Content-Type" message. Now, this  tag is accepted case-insensitive.- if no trailing lines were at the end of a Base64-encoded file, some data  was written twice, resulting in trailing garbage data. 0.4.8  (22.05.1995)-------- all string compares are now case insensitive, especially because I  found mime headers in all kinds of variations- small bug fixed that caused uudeview to ignore some files where the  first part didn't have encoded data- included checking if files exist, prompting the user whether it shall  be overwritten. suggested and coded by Kevin B. York- new: the encoding engine! incorprorated into the launcher in Windows,  for Dos/Unix, it's in the external 'uuenview' program. 0.4.9  (07.06.1995)-------- allows an 'end' after the encoded data with only an _empty_ line  inbetween. Previously, I expected a valid encoded line with zero  data, meaning that the single character on that line is '`' (UUE)  or '+' (XXE) 0.4.10 (14.06.1995)--------- funny bug fixed: if the decoder found a valid UUencoded line in a  supposed MIME-data file, it decoded the single line and exited. In  my case, a MIME header triggered this.- fixed bug with more than one MIME-encoded file in a single message.- serious bug fixed when overwriting an existing file: I had forgot-  ten O_TRUNC when opening the file, causing some undefined behavior. 0.4.11 (16.06.1995)--------- renamed all variables 'this' and 'new', as some C++ compilers don't  like using these keywords as names- renamed the variable 'inpfile' in uudeview.c:more(); I had a type  of the same name (ec@matufia.sp.TRW.COM) 0.4.12 ()--------- more smartness (although I now can't remember where, probably everywhere)- fixed problem with multiple MIME attachments in a single mail- can now decode news articles from lynx, which were messed up similar  to Netscape news files, only worse.- one appearance of strdup() in uuio.c slipped through. Now replaced  by _FP_strdup()- Instead of having to choose to rename or overwrite existing files each  time, you can now enter 'a' once to overwrite them all.- The Ultrix C compiler ignored hex escape sequences, which were used in  uuenview.c for CRLF. Now they're in octal.- not so picky if the last line is longer than expected. some encoders  (more than one!) failed to let the last line end where it was supposed  to end.- complete rewrite of uuenview. It can now email and post files direcly.  For the purpose of posting, a mini inews program, written by Steven Grady,   <grady@postgres.berkeley.edu>, is included in the distribution- finally: manual pages! And make install works as well as make install.man!  Thanks to all the people who have been bothering me for months :)- uudeview and uuenview can now behave similar to uudecode and uuencode  if called like that (ln -s uudeview uudecode). Of course, you don't  loose any smartness. My ultimate goal is to replace these outdated tools.- attempt to enforce stronger subject-line semantics. uuenview prints the  part numbers in brackets (partno/numparts) and the file name in hard  brackets [ filename.tar.gz ], and this is what the decoder looks for first. 0.4.13 (20.10.1995)--------- after sending out so many 'beta' versions of 0.4.12 and being asked  whether there's a new one available, I've decided to skip an official  0.4.12.- Scan speed greatly improved. And if you're sure you only have one article  per file, you can use the undocumented "-f" option for even more speed.  But then everything becomes quite unsafe, as incomplete files are only  detected when decoding.- don't ignore RETries- reworked most documentation, and rearranged the rest. All packages now  only include the documentation the reader really needs- Win version includes a new version of the Launcher, compiled with the  new encoding routines, and also remembering its screen position and size- Oops, the Netscape repair code was partially broken and needed some repair  itself.- xxdecoding was broken because of over-tolerant uudecoding- uudecoding was broken because of over-tolerant uudecoding :( 0.4.15 (20.01.1996)--------- Implemented my own version of fgets() that allows to transparently read  lines terminated either with LF (Unix), CRLF (DOS) or CR (Mac). Sadly,  it's slower than the original.- in previous versions, I have very much relaxed the checking for uudecoded  lines (valid_data()). Now I only allow the less strong code (meaning,  allow the data look more weird, more off the specs) if I'm sure it actually  _is_ uuencoded data. This should work in all cases because it was usually  only the last line with was "erroneous"- included option '-b' to let part numbers in [] take precedence over ()  this only affects the kind of brackets uudeview looks to find a part  number _first_- fixed problems with multiple MIME attachments- got rid of the 'Ignore Replies' switch. It caused lots of confusion and  didn't really help anything.- included option '-f' for fast scanning. Only works if each input file  contains at most one article. Many sanity checks cannot be performed

⌨️ 快捷键说明

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