Commit Graph

272 Commits

Author SHA1 Message Date
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
Eric Andersen
addc9c28ad Document 'ln --'
-Erik
2000-06-21 22:53:24 +00:00
Eric Andersen
b7362e36a8 printf now compiles cleanly under both libc5 and libc6.
-Erik
2000-06-19 17:52:17 +00:00
Eric Andersen
b610615be9 Updates to a number of apps to remove warnings/compile errors under libc5.
Tested under both libc5 and libc6 and all seems well with these fixes.
 -Erik
2000-06-19 17:25:40 +00:00
Pavel Roskin
110fc0cacc Check for 3 and more arguments was incorrect
It is only allowed for linking to a directory
But linking to a directory still fails and may be removed
2000-06-18 00:02:24 +00:00
Pavel Roskin
2e965239ee ln: fixed command line parser. Added support for "--" 2000-06-15 18:04:40 +00:00
Pavel Roskin
e97da40079 Fixed "rm foo" that had been broken while implementing "rm -- foo" 2000-06-14 17:39:41 +00:00
Eric Andersen
2b6ab3cbf8 Add new apps md5sum uudecode uuencode, fix some minor formatting things.
-Erik
2000-06-13 06:54:53 +00:00
Eric Andersen
a42982e8f5 * Fixed 'swapon -a' and 'swapoff -a', which were broken.
* Fixed 'mount -a' so it works as expected.
* Implemented 'ls -R' (enabled by enabling BB_FEATURE_LS_RECURSIVE)
 -Erik
2000-06-07 17:28:53 +00:00
Eric Andersen
1f6262b8e2 Fix 'date -u'
-Erik
2000-06-06 22:17:43 +00:00
Eric Andersen
815e904470 Fixed a bunch of stuff:
* Fixed segfault caused by "touch -c"
	* Fixed segfault caused by "rm -f"
	* Fixed segfault caused by "ln -s -s" and similar abuses.
	* Fixed segfault caused by "cp -a -a" and similar abuses.
	* Implemented "rm -- <foo>"
updated docs accordingly.
 -Erik
2000-06-06 16:15:23 +00:00
Eric Andersen
46a38dbb9b Don't allow mkfifo to create files such as "--help"
This patch checks if the name of FIFO to be created begins with "-" and
calls usage() if it does.

Regards,
Pavel Roskin
2000-06-04 05:17:35 +00:00
Eric Andersen
5a0a2aa00b Fix touch so it behaves itself (it could segfault in some cases).
Fix uname help info formatting.
 -Erik
2000-06-02 23:26:44 +00:00
Eric Andersen
808d03ec19 This is a fix for chroot
- Fixed error message when the command is not specified (possibly crash on
libc5 systems!)
- Debugging output removed
- Using fatalError() whenever appropriate

Regards,
Pavel Roskin
2000-06-02 17:56:45 +00:00
Eric Andersen
9c8ffa02f4 Pavel fixed a segfault in yes.
-Erik
2000-06-02 17:51:39 +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
Erik Andersen
330fd2b576 More libc portability updates, add in the website (which has not been
archived previously).  Wrote 'which' during the meeting today.
 -Erik
2000-05-19 05:35:19 +00:00
Erik Andersen
5b46d792f1 Some more portability updates
-Erik
2000-05-17 05:24:24 +00:00
Erik Andersen
499f65fb98 Some updates for better portability.
-Erik
2000-05-16 20:07:38 +00:00
Erik Andersen
73c8c9cf9a More doc updates
-Erik
2000-05-13 05:36:13 +00:00
Erik Andersen
7ab9c7ee52 Lots of updates. Finished implementing BB_FEATURE_TRIVIAL_HELP
which lets you compile out most of the "--help" output, saving
up to 17k.

Renamed mnc to nc.
 -Erik
2000-05-12 19:41:47 +00:00
Erik Andersen
59b9e87024 * cp -fa now works as expected for symlinks (it didn't before)
* zcat works again (wasn't working since option parsing was broken)
* more doc updates/more support for BB_FEATURE_SIMPLE_HELP
 -Erik
2000-05-10 05:05:45 +00:00