
Program to locate and, if specified, truncate Sparse files.

Copyright (c) 1994 University of Salford Academic Information Services

This program may be freely distributed and used with the following conditions:
a) It may not be incorporated in any commercial programs or
   uploaded onto any bulletin board operated by a commercial
   company or which charges fees without the written permission of
   the Director of Academic Information Services at the University
   of Salford, Great Britain.

b) Neither the University of Salford nor the author of the
   Program can be held responsible for any damage or consequential
   loss caused by using this program.

This program will locate sparse files as specified on the command line

     tsparse <options> {<filespec>}
        Option  Effect
        -d              LOTS of debugging output
        -v              all files scanned are printed
        -i              errors in user input are ignored 
        -t              sparse files are truncated.

*****************************************************************************
                ***** WARNING ******

 -      MANY DATABASE PRODUCTS WILL CREATE SPARSE FILES. 

 -      RECURSION IS NOT OFFERED AS AN OPTION. 

 -      THE DEFAULT ACTIONS ARE SAFE [FILES ARE NOT TRUNCATED]

 -      A TEMPORARY FILE $tmp$.spr IS CREATED DURING TRUNCATION

 -      only use this program if you are certain you want to truncate
        any sparse files.

*****************************************************************************

example usage:
a)
        tsparse G:\ccdata\usr* G:\ccdata\?lan????

all files matching the patterns in the directory are scanned to
see if they are sparse; if they are the filenames are printed on
stdout

b)
        tsparse -t G:\ccdata\usr* G:\ccdata\?lan????

As above, but the files are truncated as well.

c)
        tsparse -t -v G:\ccdata\usr* G:\ccdata\?lan????

As above, but the names of all the files scanned are printed on
stderr, together with whether they are sparse or not.

Change log
----------

version 1.1:
Jeff Pilant told me how to truncate files; the file is no-longer copied.
Problems with some versions of netx/vlm flagged in comments


Comments
--------
The Program reads the sparse file map, which is what all backup
programs should do so sparse files don't consume whole tapes.

Note: it has been John Baird  that some versions of NETX and the VLMs
do not correctly support this function call.
 This program  has been tested against :
   NetWare virtual loadable module manager  v1.10 (931209)
   Novell NE2000 Ethernet MLID  v1.54 (931123) 
   NetWare IPX/SPX Protocol  v2.12 (931007) 
   NetWare Link Support Layer v2.06 (931202)

Finally, BE VERY CAREFUL with this program. Having read the
warnings section do NOT run it with the '-t' option unless you
know a file is sparse and should not be.

This program was Written by Richard Letts, Network Manager,
University of Salford. Email: R.J.Letts@ais.salford.ac.uk

