Commit Graph

31 Commits

Author SHA1 Message Date
jmallett
4f88bf74e3 Synch usage() and manpage for b64encode/b64decode.
Make uudecode's usage more like that of other programs.
2002-05-19 11:22:54 +00:00
jmallett
72540ef82f Add b64decode & b64encode as synonyms for uudecode and uuencode -m,
respectively, for convenience when encoding or decoding base64 files.

As requested by various users.
2002-05-19 11:17:17 +00:00
mike
9a47a374d3 Finish converting the rest of the function declaration and prototypes
to ANSI C.  Use new source ID scheme.
2002-05-12 03:56:34 +00:00
alfred
c7993ccb72 unbreak build:
K&R style main() makes gcc emit a warning about missing prototypes so
switch to ANSI.
2002-05-11 03:29:04 +00:00
jmallett
95b590a535 Use fwrite(3) to write out the decoded information, as the b64 decoding stuff
won't NUL terminate the string for us, and so we're liable to pick up trailing
garbage, possibly tons of it.

Pointed out by:	obrien
MFC after:	3 days
2002-04-20 03:33:40 +00:00
jmallett
b6e4ad7b8c base64_decode() was feeding \r and \n to the decoding function, and that
was causing output to be corrupted.

Pointed out by:	obrien
MFC after:	3 days
2002-04-20 02:33:30 +00:00
jmallett
36c8c29357 Bump WARNS to 4. 2002-04-20 00:20:54 +00:00
imp
6b8e9d623c remove __P 2002-03-22 01:42:45 +00:00
jmallett
b1db77373b Fix handling of filenames with spaces in them in the input file to
uudecode(1), as this behaviour was explicitly added in revision 1.12 as
the result of PR 2882.  Remove space (' ') from the delimiter characters
handed to strtok(3).

Reviewed by:	mike
Approved by:	mike
Pointy hat to:	me
2002-03-19 02:05:27 +00:00
jmallett
b6463c4e8e Make uudecode(1) use setmode(3) and getmode(3) instead of just blindly
chmodding using an octal mode, as uudecode needs to handle symbolic modes
as chmod and such do.

Suggested by:	Tim J. Robbins <tim@robbins.id.au>

Also move meta-character (~ in this case) globbing to only if we are reading
the filename from the encoded file, as otherwise it is the shell's job.

Reviewed by:	mike
Approved by:	mike
2002-03-19 00:44:07 +00:00
jmallett
9907feb4ec Add base64 support to uuencode(1) and uudecode(1), as specified by SUSv3.
Add `-o' option to uuencode(1) to pipe the uuencoded output to an
arbitrary file, instead of just stdout.

Reviewed by:	-standards, mike
Approved by:	mike
2002-03-05 03:27:47 +00:00
mike
8c2a3e9142 Un-deprecate the -p option. We now have two ways to output to stdout:
`-o /dev/stdout' or `-p'.

Requested by:	grog, nectar
2002-02-16 09:18:33 +00:00
mike
eabe5e6a9d Add -o option (POSIX.1-2001) to uudecode(1). Deprecate the -p option
(which allows one to redirect output to stdout); `-o /dev/stdout' is
recommended instead.

Submitted by:	Joseph Mallett <jmallett@xMach.org>
MFC after:	2 weeks
2002-01-27 18:21:23 +00:00
markm
871e5875f0 WARNS=2 is to become the default, so remove it from here. 2001-12-11 23:14:43 +00:00
dwmalone
7a4ad1e332 Style improvements recommended by Bruce as a follow up to some
of the recent WARNS commits. The idea is:

1) FreeBSD id tags should follow vendor tags.
2) Vendor tags should not be compiled (though copyrights probably should).
3) There should be no blank line between including cdefs and __FBSDIF.
2001-12-10 21:13:08 +00:00
dwmalone
9ef278ff6c Warns cleanup. Add FreeBSD ID to Makefile. 2001-12-03 21:39:04 +00:00
sheldonh
ec09ee1d3d While I'm in here, remove an unused variable.
Submitted by:	Nathan Ahlstrom <nrahlstr@winternet.com>
2000-03-30 09:23:28 +00:00
sheldonh
0fcb9e04d8 Do not overwrite files when the -i option is specified!
PR:		17476
Reported by:	Jonathan Chen <jon@spock.org>
2000-03-27 11:49:36 +00:00
peter
e4b04a2b21 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
steve
3cd8048d02 Allow spaces in the filename to be decoded to.
PR:		4882
Submitted by:	Slaven Rezic <eserte@cs.tu-berlin.de>
1998-05-25 06:27:09 +00:00
wosch
619f5738ad Add two new options:
-i     Do not overwrite files.

     -s     Do not strip output pathname to base filename. By default uuencode
	    deletes any prefix ending with the last slash '/' for security
	    purpose.
1998-01-25 19:26:05 +00:00
phk
7d1a30911b Many places in the code NULL is used in integer context, where
plain 0 should be used.  This happens to work because we #define
NULL to 0, but is stylistically wrong and can cause problems
for people trying to port bits of code to other environments.

PR:		2752
Submitted by:	Arne Henrik Juul <arnej@imf.unit.no>
1997-09-18 14:08:40 +00:00
charnier
f380101b25 Use err(3). 1997-08-22 06:53:00 +00:00
imp
cd84ece5fd compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
wosch
485c1fd2c6 Be tolerant to old uuencode programs which encode the ASCII NUL
character as character 32 (space) instead character 64 (`).

See also  'The UNIX-HATERS Handbook', page 82-83.
1997-03-25 14:31:31 +00:00
wosch
e6a4323494 Treat 'end\0', 'end\n', 'end\r\n' as trailer line, see rev 1.2 1997-02-18 20:19:04 +00:00
wosch
72a2946e3f Better check for detecting header line. A header line must match
"begin [0-7]* *". Now `begin with, ' is not a header line.

Do a boundary check for body characters. Characters less than 33 or
greater than 96 are out of range. If characters are out of range
uudecode print a error message and die.
1997-02-18 17:49:43 +00:00
wosch
e692a007f8 New options for uudecode
-p Decode file and write output to standard output.
	-c Decode more than one uuencode'd file from file if possible.
1996-10-21 22:02:30 +00:00
ache
8a57c1f15b Oops, restore missing piece of previous commit. 1996-04-25 18:14:11 +00:00
ache
3c7db502c9 Treat ^end<EOF> as valid terminator (like ^end\n), some encoders (f.e. Eudora)
produce such things.
1996-04-25 14:49:40 +00:00
rgrimes
f9ab90d9d6 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00