Commit Graph

201 Commits

Author SHA1 Message Date
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
Eric Andersen
944be90b21 Remove a now unneeded check 2000-09-25 16:58:39 +00:00
Eric Andersen
285b446d17 Fix potential memory overrun... 2000-09-23 19:56:46 +00:00
Eric Andersen
624cc771da More portable handling of loop header files, as done in util-linux 2000-09-21 02:04:51 +00:00
Eric Andersen
31e6829bd8 Fix the halt/reboot/poweroff segfault when used from within an initrd...
-Erik
2000-09-14 21:12:20 +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
ac19b7e032 Extra defines for ar 2000-09-11 05:06:13 +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
ebee301c8b Fixed for when BB_CP_MV is enabled. 2000-09-05 22:17:22 +00:00
Eric Andersen
d13ebff163 Add BB_SH to get_last_path_component()... Fix thanks to
Bj�rn Eriksson.
2000-09-05 21:50:52 +00:00
Eric Andersen
4e61db2284 Add an extra sanity check in parse_mode
-Erik
2000-09-01 00:06:17 +00:00
Matt Kraai
ab60f6987a Removed dead regular expression code. 2000-08-28 03:12:30 +00:00
Matt Kraai
88cc3057fd Compile xstrdup and xstrndup iff they are needed. 2000-08-26 16:52:28 +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
202995c612 Yet another patch to fixup lsmod
-Erik
2000-08-21 19:40:42 +00:00
Eric Andersen
c86e5e6145 Some leftover stuff I forgot to commit for the lsmod change.
-Erik
2000-08-21 19:38:49 +00:00
Eric Andersen
f9ca653faa Added fix from David Vrabel <dvrabel@arcom.co.uk> for a
buffer overrun in find_real_root_device(), fixing bug #1019
 -Erik
2000-08-11 17:45:02 +00:00
Eric Andersen
88f50b6bf5 Some #include updates.
-Erik
2000-08-10 17:59:11 +00:00
Eric Andersen
fdd5103348 Merge in two patches from Dave Cinege:
the first is a cleanup of tar --exclude
    the second changes mount so mtab works more as it should, and
    also allows mount to use the traditional short form (i.e.
    'mount / -o remount,rw' now works.

While inside tar, I changed it to use getopt...
 -Erik
2000-08-02 18:48:26 +00:00
Matt Kraai
0f8f7b8a35 Fix bug 1017, which reports that insmod segfaults when /lib/modules doesn't
exist.  Also allow early search termination (per the comments).
2000-08-01 18:16:56 +00:00
Eric Andersen
501c88b245 More sh updates (with related changes to everything else). Switched
to using getopt and cleaned up the resulting mess.  if-then-else-fi
is now basically working (given a bunch of constraints).
 -Erik
2000-07-28 15:14:45 +00:00
Eric Andersen
ae6eae02dd Moved some code and add a coupld #defines to support use of dmalloc.
-Erik
2000-07-19 17:35:54 +00:00
Pavel Roskin
9c5fcc3408 New message added to messages.c: full_version
Used where possible
2000-07-17 23:45:12 +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
21ddb38fcf Now it's possible to compile Busybox with only one app defined
(unless it's lsmod, to be fixed by the next commit)
2000-07-17 19:31:54 +00:00
Eric Andersen
fad04fdd12 More cleanups.
-Erik
2000-07-14 06:49:52 +00:00
Matt Kraai
d537a95fdb Use errorMsg rather than fprintf. 2000-07-14 01:51:25 +00:00
Mark Whitley
c41e8c840f Changed bb_regcomp to xregcomp and #if 0'ed out destroy_cmd_strs in sed.c
(maybe I'll remove it later).
2000-07-12 23:35:21 +00:00
Matt Kraai
be84cd4ef6 Always report the applet name when doing error reporting. 2000-07-12 17:02:35 +00:00
Eric Andersen
be909b1cd5 Forgot to commit these cleanups it seems.
-Erik
2000-07-11 17:52:22 +00:00
Mark Whitley
df5f6ba115 Applied patch from Matt Kraai which does the following:
- adds case-insensitive matching in sed s/// epxressions
 - consolodates common regcomp code in grep & sed into bb_regcomp and put in
   utility.c
 - cleans up a bunch of cruft
2000-07-11 16:53:56 +00:00
Eric Andersen
da1d1e763d Fixed NFS so it supports 2.4.x kernels and NFSv3. Should close bug #1009.
-Erik
2000-07-10 23:39:44 +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
Mark Whitley
9a8243aa1e Put the GROWBY variable inside the get_line_from_file function, as that is the
only function where it's used and it's always good to keep the namespace
clean. :-)
2000-07-10 19:31:31 +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
161cf93404 Fix a bug in get_line_from_file. If the length of the line is (GROWBY * n) +
GROWBY - 1, then it writes the null character just after the buffer.  Yipe.
Fix thanks to Matt Kraai <kraai@alumni.carnegiemellon.edu> Thanks Matt!
 -Erik
2000-07-09 02:38:01 +00:00
Eric Andersen
a57ba4db64 Argh. More cross libc cleanup. Should be ok now...
-Erik
2000-07-08 19:20:49 +00:00
Eric Andersen
bd22ed8067 Update files to reduce dependance on kernel version...
-Erik
2000-07-08 18:55:24 +00:00
Eric Andersen
f86aee74ce setkeycodes needs get_console_fd(), so if you disable chvt and deallocvt, but
leave setkeycodes active, busybox will not link.  Also fix a trivial
use-before-initialize warning.  Both fixes from Jon McClintock
<jonm@bluemug.com>.

 -Erik
2000-07-06 17:20:46 +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
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
a44790f539 Better cross libc support.
-Erik
2000-06-28 20:11:28 +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
John Beppu
c7ccfc99fc + utility.c
CSTRING_BUFFER_LENGTH = 1024 /* so it recurses less often */
+ grep.c
  uses cstring_lineFromFile(), and doesn't ever say
  Line is too long, anymore
2000-06-12 23:39:04 +00:00
Eric Andersen
9f16d61408 Added a slightly modified version of Ron Alder's insmod patch.
Very cool stuff.
 -Erik
2000-06-12 23:11:16 +00:00
Eric Andersen
3199bda52e Fix /etc/passwd misspelling.
-Erik
2000-06-02 17:38:18 +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
23dea9b712 So much for my evil optimization. Doesn't seem to work. Will test
more on it later.
 -Erik
2000-05-13 00:28:25 +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
Erik Andersen
691f49d3c1 Fix umount dependency on find_real_root_device_name
-Erik
2000-05-08 17:56:25 +00:00
Erik Andersen
5afc864422 More stuff
-Erik
2000-05-02 00:07:56 +00:00
Erik Andersen
94f5e0ba7c Some accrued fixes/updates.
* cp/mv now accepts (and ignores) the -f flag, since it always
	does force anyway
    * tail can now accept -<num> commands (e.g. -10) for better
	compatibility with the standard tail command
    * added a simple id implementation; doesn't support supp. groups yet
2000-05-01 19:10:52 +00:00
Erik Andersen
4f3f757d56 Latest and greatest. Some effort at libc5 (aiming towards newlib)
compatability.
 -Erik
2000-04-28 00:18:56 +00:00
Erik Andersen
9a8195cc03 Fix creation of /linuxrc
-Erik
2000-04-18 23:32:10 +00:00
Erik Andersen
b9167cb67f Really fix the killall segfault this time.
-Erik
2000-04-18 22:41:30 +00:00
Erik Andersen
632bb57135 Fix symlink following bug in chmod -R and friends. Allow SYSV style
'chown foo:bar' in addition to 'chown foo.bar', and fix a bug in the
busybox globbing routine such that 'find /dir -name [i]' no longer
segfaults.
 -Erik
2000-04-18 22:09:06 +00:00
Erik Andersen
c366050a23 Fix stupid bug (wrong variable)
-Erik
2000-04-18 21:18:57 +00:00
Erik Andersen
0a64de9b4f More little stuff.
-Erik
2000-04-18 20:00:03 +00:00
Erik Andersen
229dd2b905 Fix killall
-Erik
2000-04-18 18:38:29 +00:00
Erik Andersen
a6c752201e Updates
-Erik
2000-04-18 00:00:52 +00:00
John Beppu
5a728cfdfe + in the interest of robustness, I added
utility.c :: cstring_alloc()
  utility.c :: cstring_lineFromFile()	/* they're at the bottom */
  so that I could read in lines of arbitrary length from FILE*s
  (instead of using fgets(huge_ass_buffer,...)).
+ I tested it out on sort, and it seems to be fine.
2000-04-17 04:22:09 +00:00
Erik Andersen
825aead68b Patch to make killall actually kill all PIDs with the specified name,
rather then busylooping trying to kill the first one until it dies.
Should be more efficient now, and will only send one signal to each
specified process.
 -Erik
2000-04-07 06:00:07 +00:00
Erik Andersen
5661fe078e Tar now works perfectly. It behaves much better now then it
used to.  Only thing left to do is add in exclude (-X) option.
 -Erik
2000-04-05 01:00:52 +00:00
Erik Andersen
3364d78b18 Yet another installment in the ongoing tar saga
-Erik
2000-03-28 00:58:14 +00:00
Erik Andersen
1ad302ac90 The new tar for busybox is now done, and works just fine
for extracting files.  Creation of tarballs is next...
 -Erik
2000-03-24 00:54:46 +00:00
Erik Andersen
298854f029 My latest ramblings.
-Erik
2000-03-23 01:09:18 +00:00
Erik Andersen
ec5bd90916 Use the nice new find_real_root_device function to find the
name of the root device, instead of having libc read whatever
lies happen to be in /etc/mtab.
 -Erik
2000-03-22 07:12:05 +00:00
Erik Andersen
016ffe9307 Add in a nifty function for mount to use.
-Erik
2000-03-22 00:58:54 +00:00
Erik Andersen
0d068a2067 * all mallocs now use xmalloc (and so are OOM error safe), and
the common error handling saves a few bytes.  Thanks to
Bob Tinsley <bob@earthrise.demon.co.uk> for the patch.
 -Erik
2000-03-21 22:32:57 +00:00
Erik Andersen
6273f655c8 Several fixes.
-Erik
2000-03-17 01:12:41 +00:00
Erik Andersen
d75af99529 Major build system updates...
-Erik
2000-03-16 08:09:09 +00:00
Erik Andersen
3522eb1ab3 First pass at writing a shell for busybox.
Works fine, full job control support, etc.
No syntax yet (if, then, while, etc).  Handles
pipes and & processes fine.

TODO: add command editing, add syntax suport.

 -Erik
2000-03-12 23:49:18 +00:00
Erik Andersen
269bba2514 Change BB_FEATURE_USE_DEVPS_N_DEVMTAB to the simpler
BB_FEATURE_USE_DEVPS_PATCH.
 -Erik
2000-03-08 14:50:47 +00:00
Erik Andersen
2ac2fae728 Fix bugs related to finding PIDs.
-Erik
2000-03-07 23:32:17 +00:00
Erik Andersen
cbd0d625c7 Fix up some #define stuff to ensure the Right Thing(tm)
happens with all combinations of BB_KILL and BB_KILLALL
being defined.
 -Erik
2000-03-07 07:58:57 +00:00
Erik Andersen
246cc6dddd Wrote killall.
Adjusted mount, ps, utility.c, etc to handle my nifty new kernel
patches the allow busybox to run perfectly without /proc.
 -Erik
2000-03-07 07:41:42 +00:00
Erik Andersen
6437170cb3 Add in freeramdisk.c, which (duh) frees ramdisks. If you have any
ramdisks lying about and want to free up the memory they have used,
this baby is the answar you have been waiting for.
 -Erik
2000-03-04 22:23:27 +00:00
Erik Andersen
029011b9ee A few updates (including the cp fix the Craig has been looking for)
-Erik
2000-03-04 21:19:32 +00:00
Erik Andersen
5b911ddd57 Fixed rebooting when init runs as /linuxrc
-Erik
2000-02-23 22:49:58 +00:00
Erik Andersen
d07ee46919 Removed proc dependancies for init and free (which maintaining exactly
the same functionality).  /proc takes up 90k of kernel space, so it is
nice to avoid using it at all costs.  The only places where it is depended
on is for cetain optional mount/umount features, and for ps and lsmod.
 -Erik
2000-02-21 21:26:32 +00:00
Erik Andersen
9ffdaa647e Updates
-Erik
2000-02-11 21:55:04 +00:00
Erik Andersen
e132f4b09e Fixed the init problem where it wouldn't unmount filesystems
on reboot.  Also fixed swapoff -a so it works.
 -Erik
2000-02-09 04:16:43 +00:00
Erik Andersen
e49d5ecbbe Some formatting updates (ran the code through indent)
-Erik
2000-02-08 19:58:47 +00:00
Erik Andersen
c0bf817bbc mkdir -p had gotten broken. Fixed now.
-Erik
2000-02-08 06:19:29 +00:00
Erik Andersen
31cf8e0056 device_open is common code -- moved into utility.c
-Erik
2000-02-07 20:31:19 +00:00
Erik Andersen
fac10d7c59 A few minor updates. ;-)
Seriously though, read the Changelog for busybox 0.42,
which this is about to become...
 -Erik
2000-02-07 05:29:42 +00:00
Erik Andersen
8e759aa31f copy fixes to simplify link copying and always do the right thing.
ping could segfault because I'm an idiot, and tried to put a value
in where I hadn't allocated storage.  choke.
 -Erik
2000-01-29 05:52:40 +00:00
Erik Andersen
d7a44c76fe Forgot some debugging noise.
-Erik
2000-01-27 23:00:01 +00:00
Erik Andersen
ce5b466bcc copyFile could call chmod on a symlink, changing the perms
of the pointed to file.  Minor fix to tar for directory handling.
 -Erik
2000-01-27 19:50:47 +00:00
Erik Andersen
de7965ca7e Shuffle location of generic code into utility.c
-Erik
2000-01-26 23:49:21 +00:00
Erik Andersen
5cbdd712f5 mount and umount could leak loop device allocations causing the system to
quickly run out.  Also disable init's SIGHUP handler during shutdown.
 -Erik
2000-01-26 20:06:48 +00:00
Erik Andersen
3fe39dce5d Some busybox updates. See the changelog for details if you care.
-Erik
2000-01-25 18:13:53 +00:00