Commit Graph

293 Commits

Author SHA1 Message Date
Eric Andersen
7b5d59464f Apply a patch from Larry Doolittle <ldoolitt@recycle.lbl.gov> to close
bug 1069.  This shaves about 100 bytes from the executable, and about
200 bytes of heap usage.  Also document the "-d" option in the usage
message.
2000-11-29 22:01:42 +00:00
Eric Andersen
cf1189f5a7 Patch from Matt Kraai to fix an infinate loop with ls -aR 2000-11-29 21:52:06 +00:00
Matt Kraai
9a71af54f5 Fix behavior when removal fails. 2000-11-22 01:09:38 +00:00
Matt Kraai
e93abf9e69 Fixed user and group name listing. 2000-11-18 01:08:24 +00:00
Mark Whitley
0053087587 Applied patch from Brent Priddy <brent.priddy@adtran.com> to handle the
special-case of using newlines as field delimiters.
2000-11-17 22:02:45 +00:00
Eric Andersen
a683ee81d9 "I will always compile before I commit."
"I will always compile before I commit."
"I will always compile before I commit."
 -Erik
2000-11-17 18:51:45 +00:00
Eric Andersen
4e573f4729 Remove the BSD advertising clause, and replace it with a link to how
the advertising clause has been retroactivly declared null and void.
2000-11-14 23:29:24 +00:00
Eric Andersen
3e07541e5f This was redundant 2000-10-29 07:02:47 +00:00
Matt Kraai
a5bd26831f Make features independent. 2000-10-28 06:40:09 +00:00
Matt Kraai
b273d66518 We also need to declare info if the USERNAMES feature is enabled. 2000-10-28 01:21:22 +00:00
Matt Kraai
e8c55f42c1 Fixed error handling and TRUE/FALSE usage. 2000-10-25 19:09:03 +00:00
Matt Kraai
ac1169b20f Cleaned up error handling and uses of TRUE/FALSE. 2000-10-25 16:38:00 +00:00
Matt Kraai
324a778f31 Added a fatalPerror function to simplify error handling. 2000-10-25 15:10:08 +00:00
Glenn L McGrath
b60208dd8f Fix for bug #1068 from Kent Robotti
Call perror and exit instead of fatalError
2000-10-25 03:31:15 +00:00
Matt Kraai
207061ac0d Fix error messages. 2000-10-23 18:03:46 +00:00
Matt Kraai
69229a6c92 Piss people off by removing [+-][0-9]+ options from tail. 2000-10-19 21:28:32 +00:00
Matt Kraai
9a6e67c960 Consolidate stat(2) and lstat(2) calls and error handling. 2000-10-13 18:03:21 +00:00
Matt Kraai
33fdae54d1 Exit with failure status if we are unable to list any files or
directories.  Patch thanks to Kent Robotti <robotti@metconnect.com>.
2000-10-13 17:59:43 +00:00
Eric Andersen
e7e1e2dcad Apply a patch from Matt Kraai to fix buffer overrun and convert to
using synamically allocated storage.
 -Erik
2000-10-12 22:40:14 +00:00
Mark Whitley
872138de50 Added cmp and readlink applets from Matt Kraai. 2000-10-09 18:56:47 +00:00
Eric Andersen
7a86e61a54 Patch from Matt Kraai so wc will return a proper error code
when failing to open a file, and will not use file when it
didn't open the file.
 -Erik
2000-10-09 18:21:44 +00:00
Eric Andersen
958c78f9a1 Apply a patch from Matt Kraai:
"The -L option to ls doesn't behave correctly for files listed explicitly
    on the command line, only those in directories that are listed.  The
    appended patch fixes this problem.  Would someone please commit it?"
 -Erik
2000-10-09 17:51:25 +00:00
Eric Andersen
13241dfbdd Patch from Matt Kraai: "When it encounters a problem creating a link, ln
shouldn't give up entirely but instead continue processing the rest of its
arguments.  The attached patch does this."
2000-10-04 16:02:53 +00:00
Glenn L McGrath
aa3908d1b7 Rewrite to use getopt and return instead of exit, a seperate function (fs_link) does the actual work. 2000-10-04 09:34:35 +00:00
John Beppu
8d369e98a5 + shortened main() a little, and a few aesthetic cleanups here & there. 2000-09-28 17:49:59 +00:00
Matt Kraai
c0321f9bc6 Rewrote head to perservere when it can't open a file, and share code
with cat.
2000-09-27 04:09:22 +00:00
Matt Kraai
e7c1af1e0d Continue concatenating files even if we can't open one. 2000-09-27 03:01:40 +00:00
Matt Kraai
bbaef66b3f Consolidate handling of some fopen failures. 2000-09-27 02:43:35 +00:00
Matt Kraai
e0bcce09ba Rewrote uniq to be less than a third of the size, and fixed some other
minor problems.
2000-09-27 02:29:39 +00:00
Eric Andersen
3570a34de4 Renamed "internal.h" to the more sensible "busybox.h".
-Erik
2000-09-25 21:45:58 +00:00
Matt Kraai
90f580ad5b Start the great EXIT_{SUCCESS,FAILURE} migration. 2000-09-22 03:45:34 +00:00
Matt Kraai
a2f2a8f8c0 Add support for the -L option to ls. 2000-09-22 03:11:47 +00:00
Eric Andersen
d1de4a16ad Handle 'cat -' 2000-09-21 02:39:50 +00:00
Eric Andersen
8a2e56c5df Large file >2Gib support. 2000-09-21 02:23:30 +00:00
Matt Kraai
7c22b77162 Only remove directories when removing recursively. 2000-09-20 23:10:21 +00:00
Eric Andersen
cff3fe3ae9 Added dos2unix, unix2dos, and unrpm.c thanks to robotti@metconnect.com.
-Erik
2000-09-20 19:22:26 +00:00
Glenn L McGrath
56a328810b Fix looping bug, use fullRead 2000-09-13 23:08:07 +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
f0b073f55a dd now truncates files at the end its write, this can be turned of by
specifying conv=notrunc in the command line

This conforms to GNU dd behaviour
2000-09-11 00:32:13 +00:00
Glenn L McGrath
729216cb11 Remove some debugging code 2000-09-10 04:42:20 +00:00
Glenn L McGrath
18310f1ce3 Using seek=? used to cause part of the original file to be zero'ed, i
think this was caused by opening the file in truncate mode.
2000-09-10 04:39:37 +00:00
Glenn L McGrath
0ae8e5a645 My previous attempt to make dd use fullRead, fullWrite was very broken,
this should actually work.
2000-09-10 01:54:27 +00:00
Eric Andersen
11c655295c New ls sorting patch, as written by Sterling Huxley, and then updated
by kent robotti.  I then updated it to use my_getpwuid and my_getgrgid
(per busybox policy).
 -Erik
2000-09-07 17:24:47 +00:00
Eric Andersen
1b355ebba6 Added expr, from Edward Betts <edward@debian.org>, with some fixups
and docs added by me.
 -Erik
2000-09-05 17:37:48 +00:00
Matt Kraai
1638488d26 Rewritten by mistake. 2000-08-28 03:53:27 +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
Pavel Roskin
3a0f4baf2f Fixed a warning about a label not being used 2000-08-22 15:47:57 +00:00
Pavel Roskin
8237add8d0 Fixed misuse of type "char" 2000-08-22 15:38:16 +00:00
Eric Andersen
79565b6c91 Add optional ls file sorting, thanks to a patch from
Sterling Huxley <sterling@europa.com>
 -Erik
2000-08-11 18:10:21 +00:00
Eric Andersen
88f50b6bf5 Some #include updates.
-Erik
2000-08-10 17:59:11 +00:00
Eric Andersen
46ade97983 Cleaner way to handle -NUM and +NUM, reduces the mem usage as well.
-Erik
2000-08-02 19:57:18 +00:00
Mark Whitley
5ae166813f Minor cleanup thingy. fprintf(stderr, ...) -> errorMsg(). 2000-08-02 18:34:41 +00:00
Mark Whitley
807f0fd637 Brand, new version of cut. This fixes the bugs in the old cut, is smaller, and
is a sight easier to understand than the Minix cut.
2000-08-02 18:30:11 +00:00
Eric Andersen
d5fa3e3e9a Update to the tail rewrite by "Allen Soard" <esp-software@mail.hypermart.net>
-Erik
2000-08-02 16:42:58 +00:00
Eric Andersen
98bbd688a8 Commit the rewrite of tail by Allen Soard
<esp-software@mail.hypermart.net>.  Thanks Allen for
you work at getting this into shape,
 -Erik
2000-07-31 17:05:58 +00:00
Pavel Roskin
616d13bcd1 Fixed to pass -Wundef 2000-07-28 19:38:27 +00:00
Eric Andersen
9cf306d55e Fix for a potential uninitialized variable, thx to
Ken Chalmers <chalmers@norscan.com>
 -Erik
2000-07-28 19:05:20 +00:00
Eric Andersen
6150df320a Some cleanups, based on a patch from Ken Chalmers
-Erik
2000-07-28 16:22:51 +00:00
Mark Whitley
7ce41ad692 Fixed a syntax error & superfluous param decl that was causing the build to
fail.
2000-07-26 18:09:22 +00:00
Eric Andersen
cc10a5b42b Fix some bitrot.
-Erik
2000-07-26 00:52:04 +00:00
Eric Andersen
b040d4f3da Use BB_FEATURE_CLEAN_UP where appropriate
-Erik
2000-07-25 18:01:20 +00:00
Pavel Roskin
e99f7500e0 chroot can now call the builtin shell 2000-07-24 20:15:30 +00:00
Mark Whitley
3950596e1e Converted option parsing to using getopt(). Also managed to remove an
extraneous logic loop that existed only for the purpose of the special case of
only one file. I replaced it with a variable to keep track of the number of
files read.
2000-07-20 00:08:10 +00:00
Mark Whitley
99e370f0c6 Whoops. Forgot to #include <getopt.h>. 2000-07-20 00:03:38 +00:00
Mark Whitley
aa4f108338 Converted option parsing to getopt() and made some minor formatting changes. 2000-07-19 19:38:13 +00:00
Matt Kraai
27a804246a Centralize handling of --help. 2000-07-19 19:24:01 +00:00
Matt Kraai
2f46b664b7 Add usage messages for applets without them. 2000-07-19 18:01:00 +00:00
Eric Andersen
a16c66335e Use FatalError()
-Erik
2000-07-19 17:36:27 +00:00
Pavel Roskin
cc8a66b113 Moved functions used by "lsmod" from cat.c to utility.c
Adjusted to make lsmod and sh compilable as standalone apps.
Comment fixes
2000-07-17 20:18:42 +00:00
Pavel Roskin
47d4926244 The result of getopt() is "int" and should be treated as such 2000-07-17 16:17:19 +00:00
Matt Kraai
bf181b9338 Extract usage information into a separate file. 2000-07-16 20:57:15 +00:00
Matt Kraai
3bd8bd89ee Don't use strings directly in calls to usage(). This is in preparation
for their extraction to a separate file.
2000-07-14 23:28:47 +00:00
Eric Andersen
add09fd558 Getopt'ed by Marc Nijdam <marc_nijdam@hp.com>
-Erik
2000-07-14 18:39:08 +00:00
Eric Andersen
17ad45aace Getopt'rd by Marc Nijdam <marc_nijdam@hp.com>
-Erik
2000-07-14 18:38:26 +00:00
Eric Andersen
fad04fdd12 More cleanups.
-Erik
2000-07-14 06:49:52 +00:00
Matt Kraai
b870af09ae Fix argument parsing. 2000-07-14 06:47:33 +00:00
Matt Kraai
d537a95fdb Use errorMsg rather than fprintf. 2000-07-14 01:51:25 +00:00
Eric Andersen
156959ea93 Fix uninitialized variable.
-Erik
2000-07-13 19:49:12 +00:00
Eric Andersen
00143ba921 From Matt Kraai <kraai@alumni.carnegiemellon.edu>
> Here is a patch so that tr can handle NULL characters as well.  Give it
> a shot and let me know what you think.  It is against the latest CVS
> version.
>
> In my tests, the following now works as expected.
>
> tr '\0' '\n'
>
> Later,
> Matt
2000-07-13 16:40:41 +00:00
Matt Kraai
ac48461da9 Correct argument parsing and other minor cleanups. 2000-07-13 06:33:12 +00:00
Matt Kraai
be84cd4ef6 Always report the applet name when doing error reporting. 2000-07-12 17:02:35 +00:00
Matt Kraai
e58771e73c Use global applet_name instead of local versions. 2000-07-12 15:38:49 +00:00
Matt Kraai
e714bce003 Use global applet_name instead of local versions. 2000-07-12 00:53:06 +00:00
Eric Andersen
0c838af50b Re-enable ln -n in the help.
-Erik
2000-07-11 17:38:27 +00:00
Eric Andersen
195fa15caf Another patch from Matt Kraai <kraai@alumni.carnegiemellon.edu>:
>
> The following patch allows ln -n to function like GNU.  It also fixes a
> typo with my previous patch to add support for ln FILE DIRECTORY.  And
> it removes some code that checks the maximum length of the filenames.  I
> can't figure out why that code is necessary.  Anyone know?
>
> Matt
2000-07-11 17:35:32 +00:00
Eric Andersen
c674d70699 Comment on kernel stuff
-Erik
2000-07-10 22:57:14 +00:00
Eric Andersen
9b2297a34e Remove yet more kernel header dependancies.
-Erik
2000-07-10 20:08:44 +00:00
Eric Andersen
a0053735dc Remove unused variable.
-Erik
2000-07-10 20:08:09 +00:00
Eric Andersen
0b4551faf5 From Matt Kraai <kraai@alumni.carnegiemellon.edu>:
Howdy,

Bug #1006 reports that

ln -s /tmp/foo .

does not work correctly.  In fact, it appears that any instantiation of

ln -s FILE... DIRECTORY

does not work.  The following patch adds support for this form, which
then fixes the particular instance noted in the bug report.

In the process, I needed the basename function.  This appears in the
string.h provided by glibc, but not uC-libc.  So I wrote my own to go in
utility.c, called get_last_path_component.  I also modified the basename
utility to use this function.

At some point it might be desirous to use the basename from the library
if it exists, and otherwise compile our own.  But I don't know how to do
this.

Matt
2000-07-10 16:44:03 +00:00
Eric Andersen
a03d86cf54 Patch from Matt Kraai <kraai@alumni.carnegiemellon.edu>:
GNU tr complains on the following:

$ tr a ''
tr: when not truncating set1, string2 must be non-empty

BusyBox tr does not complain:

$ tr a ''
a
^D
0

It should result in an error, not in some spurious output.  The attached
patch generates an error.

Matt
2000-07-10 16:38:50 +00:00
Eric Andersen
999bf72f49 More portability updates. Now compiles cleanly vs glibc, libc5, and uclibc
(except for mkfs_minix and fsck_minix -- and it doesn't yet link vs uclibc due
to missing stuff in the library).
 -Erik
2000-07-09 06:59:58 +00:00
Eric Andersen
bd22ed8067 Update files to reduce dependance on kernel version...
-Erik
2000-07-08 18:55:24 +00:00
Eric Andersen
5d893b6beb Remove MAXNAMLEN and use BUFSIZ instead.
-Erik
2000-07-06 01:57:20 +00:00
Eric Andersen
89bc256c94 Remove misguided klude around for 2.4.x-test* brokenness. Al Viro
will be removing this stuff from /proc/mounts real soon now I am assured.
 -Erik
2000-07-05 19:29:59 +00:00
Eric Andersen
f7cf2f7ef9 * Fix to tr so it recognizes standard escape sequences. Merged common
escape seq. code from tr and echo into utility.c.  Fix thanks to
    Matt Kraai <kraai@alumni.carnegiemellon.edu>.
* This should close Bug #1015.  Please test.
 -Erik
2000-07-05 17:26:35 +00:00
Eric Andersen
7c31ea4e29 Added support for ignoring '-g' per GNU ls, thanks to David Vrabel
<dvrabel@arcom.co.uk>.  Seems some ftp clients expect the '-g' option
to exist.
 -Erik
2000-07-03 14:55:49 +00:00
Mark Whitley
1ca41775bb Yanked out the cstring_alloc() and cstring_lineFromFile() functions from
utility.c and replaced them with get_line_from_file() from the new grep.c.
Also changed declaration in internal.h and replaced instances of
cstring_lineFromFile() in dc.c and sort.c with get_line_from_file(). Tested
them and they worked fine.
2000-06-28 22:15:26 +00:00
Eric Andersen
1386e70210 Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport.
Fix thanks to Arne Bernin <arne@matrix.loopback.org>
 -Erik
2000-06-26 12:14:30 +00:00
Eric Andersen
10dc9d4d17 Updates to handle Linux 2.4.0 kernels (kludged around the "none" entries in
/proc/mounts, added a hack to make sysinfo work with both old and new kernels).
 -Erik
2000-06-26 10:45:52 +00:00
Eric Andersen
6f9985e2f2 Pavel Roskin <proski@gnu.org> just found a nasty memory
corruption bug.  Disabling 'ln -n' till it is fixed.
 -Erik
2000-06-22 00:02:56 +00:00