Commit Graph

131 Commits

Author SHA1 Message Date
Matt Kraai
e80a2633bc Be sure to read from the given path, not the one used in the header. 2000-12-19 20:45:49 +00:00
Matt Kraai
a1f9775981 Fix tar handling of absolute paths and excluded directories. 2000-12-19 06:24:08 +00:00
Matt Kraai
1fa1adea2a Change calls to error_msg.* and strerror to use perror_msg.*. 2000-12-18 03:57:16 +00:00
Glenn L McGrath
4f1b0124c7 Rewrite, fix a bug with multiple long filenames, simplify structure, remove cruft, make code conform closer to style guide, saves 350 Bytes. 2000-12-15 06:50:09 +00:00
Eric Andersen
02ced93ec2 Add GNU compatibile gzip -d 2000-12-13 17:55:11 +00:00
Eric Andersen
4836fd44f0 Patch from Matt Kraai:
The following patch makes the -X option to tar behave like GNU,
    which reads one file per line.  It also prevents the last file
    from being appended to the list twice (though that has no
    noticeable impact).
2000-12-13 15:28:48 +00:00
Eric Andersen
bd193a42a5 Fix from Matt Kraai -- a better way to NULL terminate strings for the
my_* passwd and group routines.  I should have thought of doing it
this way...
2000-12-13 01:52:39 +00:00
Glenn L McGrath
46f44d24fc Support for tar -z option for uncompressing only 2000-12-10 01:57:30 +00:00
Glenn L McGrath
00732b57c7 Introduce new function gunzip_init()
gunzip_init() will make it easier to use gunzip from other bb functions.
2000-12-10 00:51:42 +00:00
Mark Whitley
f57c944e09 Changed names of functions in utility.c and all affected files, to make
compliant with the style guide. Everybody rebuild your tags file!
2000-12-07 19:56:48 +00:00
Eric Andersen
3d957c87b7 Patch from Jim Gleason <jimg@lineo.com> to fix tar so it no longer breaks hard
links, and no longer segfault in a certain wierd case.
2000-12-07 00:34:58 +00:00
Mark Whitley
4758368505 Fixed the comments to match the code and renamed the function to a (hopefully)
more descriptive name, and as per the style guide.
2000-12-05 20:03:17 +00:00
Eric Andersen
8cede00b9e Patch to add in the -X option and fix the --exclude bug, originally by
Sebastien Huet, and now ported to the latest and greatest by both Arne Bernin
<ab@netropol.de> and kent robotti <robotti@metconnect.com>.
2000-12-04 18:51:09 +00:00
Eric Andersen
02f3b2e0c8 Make tar shutup on compile 2000-12-01 19:04:52 +00:00
Matt Kraai
3e856ce428 Stop using TRUE and FALSE for exit status. 2000-12-01 02:55:13 +00:00
Matt Kraai
c119ab9e29 Note an error if we are unable to list/extract specified files. 2000-11-30 04:44:54 +00:00
Matt Kraai
ab8f9e286b Check for archive errors even for files we aren't extracting. 2000-11-18 01:28:57 +00:00
Eric Andersen
3c5ee9a379 Grammer fix. Changed "longer then" to "longer than". Fix thanks to Jim
Gleason <jimg@lineo.com>.
2000-11-14 22:15:48 +00:00
Matt Kraai
7918e1fd54 Move flush_outbuf to the file in which it is used, and by doing so fix a
nasty error dealing with two different variables with the same name.
2000-11-08 06:52:57 +00:00
Matt Kraai
d8ad76cb31 Fix some bugs reported by Jim Gleason <jimg@lineo.com> and others I
introduced.
2000-11-08 02:35:47 +00:00
Eric Andersen
63a862272c Cleanup of duplicated symbols -- found by compiling with
LDFLAGS += -Wl,-warn-common
2000-11-07 06:52:13 +00:00
Matt Kraai
207061ac0d Fix error messages. 2000-10-23 18:03:46 +00:00
Eric Andersen
62f987e95f Fix a thinko. Patch from Justus Pendleton <justus@acm.org> 2000-10-09 17:54:38 +00:00
Glenn L McGrath
c2bf5cad79 General cleanup of comments, defines, includes, and global variables, removed those that arent needed, grouped those remaining at the top.
Re-ordered functions to the order they are called.
Removed static crc table, it now generates the table once for itself.
Results in source reduced by 40%, so it should be a lot easier to work on in the future, binary size only reduced by under 2KB though.
2000-09-29 06:46:59 +00:00
Eric Andersen
3570a34de4 Renamed "internal.h" to the more sensible "busybox.h".
-Erik
2000-09-25 21:45:58 +00:00
Eric Andersen
1b1cfde1f8 Fix bug#1043 -- hanlde long filenames and links (in this case, by complaining
that thay exist and skipping such files when extracting and when archiving.
 -Erik
2000-09-24 00:54:37 +00:00
Eric Andersen
0102a9fd48 Fix an obscure option parsing bug. 2000-09-23 22:36:24 +00:00
Matt Kraai
d995493987 Clean up error messages. 2000-09-22 03:36:27 +00:00
Eric Andersen
46a98dfb13 Reverted my conversion of tar to getopt to ensure tar can
handle traditional semantics (i.e. 'tar -xvf -' or 'tar xvf'
now both work).
 -Erik
2000-09-19 21:35:14 +00:00
Glenn L McGrath
fd3741d712 Remove definition of basename.
It was defined out so that it would never be seen, and if it was ever seen it wasnt used for anything. It also stops gunzip compiling under the Hurd.
2000-09-18 10:20:16 +00:00
Matt Kraai
b2f36af157 Updated stdin/stdout treatment to match that of gnu tar. 2000-09-15 22:47:34 +00:00
Matt Kraai
6fc2a7d04d Reorganize listing code. 2000-09-15 22:23:41 +00:00
Matt Kraai
82cfbad216 Allow non-verbose listing to work. 2000-09-15 21:18:43 +00:00
Matt Kraai
322ae93a5e Fix calls to {m,c,re}alloc so that they use x{m,c,re}alloc instead of
segfaulting or handling errors the same way themselves.
2000-09-13 02:46:14 +00:00
Glenn L McGrath
fca8050f0f Fix .deb unpack and experimental TAR support
The previous ar.c fialed to recognise one record in .debs

Experimental tar support, this is currently *very* cheap because ar and
tar are functionally similar. It  will need lots of testing so by
default tar support code is defined out.
To test uncomment the line "#define BB_AR_EXPERIMENTAL_UNTAR"
2000-09-11 05:25:39 +00:00
Eric Andersen
49352adf9c Simplify a few little things, and merge in a patch from
robotti@metconnect.com so that 'ar -xv' and 'ar -x -v'
both work.
 -Erik
2000-09-11 04:55:31 +00:00
Glenn L McGrath
bd7c67136a remove some printf statements i forgot about 2000-09-09 15:04:34 +00:00
Glenn L McGrath
e2b345a6d8 Implemented new ar functionality unique to busybox ar (i think), the -R
option enable a Recursive extraction (or listing) to take place.

i.e. if any files being extracted are themselves ar archives then
busybox ar will extract their contents as well.

e.g. take bar.deb and do (with GNU ar) ar -q foo.deb b.ar
then with busybox ar can do ar -x b.ar data.tar.gz

-R isnt used for anything in GNU ar so i think it should be ok, could
have used long options

This functionality will become (more) usufull with tar, gz support.
2000-09-09 14:50:04 +00:00
Glenn L McGrath
437bf72785 Changed getopt so that options can be grouped together, the source
archive is now assumed to be the first non parameter.

This is how GNU ar behaves.
2000-09-09 13:38:26 +00:00
Glenn L McGrath
6fb88e73f7 Fix permisions 2000-09-09 12:48:40 +00:00
Glenn L McGrath
8324b9f1aa Now supports GNU style long filenames.
If no filenames are specifed to be (extracted/listed) it will act on
all files in the archive (i dont think the old version did this)

Code is structured to better support upcoming recursive extraction
functionality.

The old code was a bit strange in places, dont know what i was thinking.
2000-09-09 08:35:45 +00:00
Matt Kraai
43c8c38bbf Allow compilation when not using BB_FEATURE_TAR_EXCLUDE, and fix
handling of --exclude option.
2000-09-04 16:51:55 +00:00
Matt Kraai
b92223b6f5 Allow selective extraction and listing of files. And fix an unchecked
return value of realloc (with xrealloc).
2000-09-04 08:25:42 +00:00
Eric Andersen
73bdf13d35 Fixed a stupid thinko preventing zcat from doing its job, thanks
to Torbj�rn Axelsson <torax@cendio.se> for the fix.
 -Erik
2000-09-01 16:25:33 +00:00
Matt Kraai
da542f3a0c Argh. I *will* compile before checking in. 2000-09-01 02:53:01 +00:00
Matt Kraai
f446297afd Don't unlink files if we are extracting to stdout. 2000-09-01 02:50:48 +00:00
Eric Andersen
e99674a70f Correct the stdin/stdout behavior when no args are provided.
-Erik
2000-09-01 00:41:10 +00:00
Eric Andersen
5eb5912790 Sigh. Seems I screwed up last time. This fixed detecting
when on a console or not, and make default behavior compatible
with GNU gzip...
 -Erik
2000-09-01 00:33:06 +00:00
Glenn L McGrath
06aeb6c417 ar.c now uses a linked list to process headers, uses getopt, new internal function extractAr(srcFD, dstFd, filename) to make it easily accessable to other busybox functions.
moved copySubFile from ar.c to utilities.c

modified dd.c to use fullWrite

modified copyFile in utilities.c to use copySubFile
2000-08-25 03:50:10 +00:00
Eric Andersen
6ac18a3d83 Fix to make 'ar xv' work, thanks to Kent Robotti <robotti@metconnect.com>
-Erik
2000-08-11 20:11:35 +00:00