home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
back2roots/padua
/
padua.7z
/
padua
/
misc
/
msplit.lha
/
msplit.doc
< prev
next >
Wrap
Text File
|
1994-02-10
|
9KB
|
234 lines
msplit -- Version 1.3 -- last change Feb 10, 1994
Copyright (c) by Rene Tschirley
All rights reserved
This program is no Public Domain but Freeware.
Permission is granted to make and distribute verbatim copies of this
program's code and documentation as you receive it, in any medium, provided
that you conspicuously and appropriately publish only the original,
unmodified programcode and documentation, with all copyright notices of
warranty intact. The executables must not be spread alltogether, but
include source and doumentation! You may change the code for your own usage
on other systems than the systems this program was designed for (look at
'Splecial abilities').
There is no warranty for this software package. Although the author has
tried to prevent errors, he can't guarantee that the software package
described in this document is 100% reliable. You are therefore using this
material at your own risk. The author cannot be made responsible for any
damage which is caused by using this software package.
What is ssplit?
-----------------
This program was designed for people who need computers at their work and
sometimes use to take some code home. I often have the problem that I need
to carry packages of several megabytes from one system like SUN-OS, VMS or
MS-DOS home to my Amiga and reverse. These packages can't be put on one
disk because of their size, so they have to be split into parts. Some other
programs are able to do this too, but they only exist on special systems.
This program is runable on every system!
msplit might be useful if you want to backup some files to a disk without
using a backup utility. It makes you able to use the whole capacity of the
disk by packing the files together and splitting it into parts of the size
of your disks...
Included files
----------------
msplit.readme - short readme, outside of lharc-packet
msplit.doc - this important file 8)
msplit.c - full ANSI-C sourcecode
msplit.amiga - executable for Amiga
msplit.sparc - executable for Sun Sparc processors
msplit.msdos - executable for MS-DOS
msplit.vax - executable for Vax-VMS
msplit.convex - executable for Convex
msplit.archie - executable for Acorn Archimedes
msplit.dec - executable for DEC-Stations under ULTRIX
Notes for the different systems
---------------------------------
AMIGA Compiled with Manx Aztec-C 5.0 under Kickstart 2.04. Should
be runable with Kick 1.2 or higher.
SUN SPARC Compiled with gcc on a Sun SS 630-MP under UNIX X.X. Tested
on Sun Sparc 1, 2 and 10 under Sun-OS BSD-4.3 and Solaris.
MSDOS Compiled with Borland C++ in 80286 mode. For OS/2 or things
like that, recompile the sourcecode. Please have a look at
'Special abilities/Bugs' for important notes!
VAX Compiled with gcc with usage of the Shared C Library for a
compact executable. Tested on VAX 8800, VAX 770,
VAX-Station 3100 and 2000, all under VMS.
CONVEX Compiled with cc under Convex-OS 10.1 on a Convex.
DEC Compiled with gcc under ULTRIX 4.2 on a DEC-Station 3000.
ARM Compiled with gcc on an Acorn Archimedes 5000. Should be
runable on any Archie.
Usage
-------
msplit -h | [-s]|-c [-n <size>[k]] [-d] <filename> [to <dest>]
The order of options is ignored. Here are the options:
-h Displays this usage table.
-s msplit works in splitting mode (default)
The filenames will get a suffix '.Mn' where n is
the number of the part.
-c msplit works in concatenating mode.
msplit will search files named filename.Mn where n
counts up from 1. If the file won't be found,
msplit assumes that the work is done.
-n <size>[k] If 'k' is not specified, msplit computes the
amount of bytes that will fit as much blocks as
possible but not more than size bytes. If a 'k' is
specified, size is interpreted as the amount of
kilobytes.
To be correctly: The size is multiplied by 1000,
so you got a kilo-byte, not a kbyte! I asked
several people and everybody told me that this
would be much more handy than real kbytes.
-d After processing, the inputfile will be deleted!
<file> Process file named file.
to <dest> Write outputfiles to directory dest. Must be the
path of a directory with a trailing slash ('/') or
colon (':') or anything that your system wants.
Examples
----------
I don't like writing long descriptions and an example may explain the
same in less time. So let's say you have a file dh0:test of 530000 bytes.
Then, you go to the directory dh0: and type:
msplit -n 100k -d file to dh1:
This will split the file dh0:file.txt into 5 files of 99328 and one file
of 33360 bytes. After spliting the file it will be deleted.
You may concat the files by typing
msplit -c dh1:file to dh2:
This will generate a file named dh2:file. Quite easy, isn't it? Other
systems look quite similar, this was Amiga-DOS.
Let's have a look at VMS: Your file named test.txt has a length of 100000
byte. So you have to do 'rename test.txt test.' because of the generated
suffix. Then you must define 'msplit :== $HARDDISK:[USER]msplit.exe' (your
own values of course) to use msplit with Unix-like commandline options!
Then you are able to use it as like as described:
msplit -n 10k test to $TMP:[USER]
You'll get 9 files of 9036 bytes and one of 964 bytes on your disk
TMP: . That's all.
Special abilities
-------------------
The sourcecode of msplit may be compiled on all machines with few changes
in the sourcecode. It was written in ANSI-C and the code is tested and
prepared for the systems Amiga-DOS on MC68000, MS-DOS on 80286 (thanks to
my brother Sven for help), VAXes under VMS, Sun-OS (BSD 4.3 UNIX), System-V
UNIX, Solaris (the last three for Sun Sparc), DEC-Stations under ULTRIX,
Convex-OS and Archimedes on ARM (thanks to Stefan Duetzmann). You only have
to read the precompiler commands in the header of the file, then you remove
the comment signs on the include commands where your system is mentioned.
Other systems may require few changes in the precompiler commands. Try to
compile it and modify the includes as the compiler wants. If you success-
fully did this or even nonsuccessfully tried, please tell me.
Known bugs
------------
Users of MS-DOS and VMS machines have to be a little more careful than
others because of the limits of their system. You can only define filenames
without extension because msplit uses an extension itself. While any other
system accepts filenames with several points in it, MS-DOS and VMS won't!
You'll get some strange error messages, msplit doesn't check this (but who
uses MS-DOS anyway? :). I don't know on which machine the exe-file is run-
able. Anyway, it was compiled on a 486 machine in 80286-mode without co-
processor. Should be ok, I think. (Oh, I really hate MS-DOS !)
Contact address / Updates
---------------------------
You may send me mail, sugar, sweets or food if you contact me at:
Rene Tschirley
Senftenberger Ring 48c
13435 Berlin
GERMANY
e-mail:
drt@hmi.de
gremlin@cs.tu-berlin.de
If there should be any bugs or you think msplit should be able to do
something it doesn't do yet, please mail me. If there are bugreports or
wished extensions, I'll write an update and post in the internet (probably
ftp.cs.tu-berlin.de), send it to any PD-series or to anybody who wishes
and tells me so. I am always interested in your opinion about msplit <8-).
History
---------
V 1.0 (Dec 20, 93) - first bugfree release with Amiga system calls
V 1.1 (Dec 23, 93) - replaced system calls by ANSI-standard routines
V 1.2 (Jan 06, 94) - better split and concat-algorithm which causes more
speed (around factor 15-18 times faster),
Tested on MS-DOS, UNIX System V, BSD4.3 UNIX,
ConvexOS, VMS
V 1.3 (Feb 07, 94) - added option -d, changed commandline parser,
tested on DEC-Stations under ULTRIX
tested on Acorn Archimedes