home *** CD-ROM | disk | FTP | other *** search
- FCOPY 3.1 - May 12, 1992
-
- There was a bug in the truename function that would cause a crash when
- using a DOS version earlier than 3.0 in a large data model. This has
- been fixed in this release.
-
- Also, most of the assembler modules have been revised. Functions now
- make no assumptions about the setting of DS upon entry. In large data
- models (compact and large models) DS is set to the default data segment
- so that the global variables errno and _doserrno can be set upon error.
- Similarly, in the huge model DS is set to the segment containing errno
- and _doserrno. This distinction is necessary since Turbo C/C++ does not
- use a default data segment in the huge model -- all huge modules have
- their own data segment. Microsoft C/C++ compilers do not treat the huge
- model in this way; however, these functions will work with either
- Borland or Microsoft compilers.
-
- ------------------------------------------------------------------------
-
- FCOPY 3.0 - April 19, 1992
-
- In this version, the function _fcopy was renamed to fcopy (without the
- leading underscore). Source code using an earlier version needs to be
- changed accordingly.
-
- This version adds a new function (truename) which gets the canonical
- (fully qualified) path name, given a filename specification. fcopy uses
- this function to determine if the source and target filespecs actually
- refer to the same file. truename requires DOS 3.0 or later, so there is
- only limited protection against attempts to copy a file onto itself with
- earlier versions of DOS. If anyone is REALLY interested, I might add a
- DOS 2.X capability to truename. I didn't make the effort in this
- particular version because I suspect there are relatively few people
- still using DOS versions below 3.0. truename is a general purpose
- function that can be used in other programs.
-
- Another new general purpose function (strtrim) has also been added.
- This function trims leading and trailing whitespace from a string. Most
- DOS functions that take a filespec as a parameter expect the string to
- have no leading or trailing spaces, and strtrim can be used ahead of
- these calls to ensure that the filespec is properly formed.
-
- Also included are the original file read and write functions: farread
- and farwrite. While not used in fcopy since version 1.1, they are still
- useful general purpose functions, especially when large file buffers are
- needed for speed.
-
- All of the above are written in assembler and support all memory models.
-
- At the request of several people, I have compiled/assembled all of the
- modules for each memory model and have included them in this archive as
- libraries. They are named FCOPYx.LIB, where x designates the memory
- model used: S = small, M = medium, C = compact, L = large, H = Huge.
- Most any library utility can be used to extract the object modules as
- desired.
-
- Finally, for those who like things simpler, also included is the archive
- file FCOPY21. This is smaller than the 3.X version, but does not
- protect against attempts to copy a file onto itself. If this isn't
- important to you, the 2.1 version may be all you need.
-
- ------------------------------------------------------------------------
-
- Ray Waters
- CompuServe ID 72261,33
- May 12, 1992
-