Commit Graph

16 Commits

Author SHA1 Message Date
Matt Kraai
d995493987 Clean up error messages. 2000-09-22 03:36:27 +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
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
Matt Kraai
bf181b9338 Extract usage information into a separate file. 2000-07-16 20:57:15 +00:00
Matt Kraai
be84cd4ef6 Always report the applet name when doing error reporting. 2000-07-12 17:02:35 +00:00
Eric Andersen
57ebebfb01 Patch from Matt Kraai <kraai@alumni.carnegiemellon.edu> to
simplify ar.c and make it more readable.
 -Erik
2000-07-05 17:21:58 +00:00
Eric Andersen
852ff13fc4 Update to ar.c from Glenn McGrath. His comments follow:
------------------------------

the attached diff applies to the ar.c i originally submitted

Changes

Preserve dates now works.
Extracted files are set to the uid, gid and mode specified in the
archive.
Checks for valid end of header marker.
Correctly unpacks newer debian files. (has a '\n' character between
entries)
Added more comments.
Cleaned up code.
Added a last modified date to help keep track of versions.


TODO

Common functionality in ar.c are in tar.c should be merged, in
particular getOctal and extractSubFile.

Should all functions that are used by multiple file go in utilities.c ?
2000-06-16 04:56:40 +00:00
Eric Andersen
86ab8a32bd A number of additional fixed from Pavel Roskin, note some more bugs in the
TODO list.  Add Glenn to the Authors list for writing a mini ar for BusyBox,
which is now included.
 -Erik
2000-06-02 03:21:42 +00:00