Eric Andersen
195743f195
Ok, sh.c should be working now. Many thanks to Larry Doolittle
...
for his timely help -- nearly all of the work in this patch is
his.
-Erik
2001-03-09 19:21:37 +00:00
Eric Andersen
01658a3eec
Fix sh.c for the glab case. I was messing things up for
...
single argument commands. It should now work as expected...
-Erik
2001-03-09 01:24:02 +00:00
Eric Andersen
3dbf1e877a
A '.' is a legal seperator.
2001-03-09 01:08:06 +00:00
Eric Andersen
b180dd9e50
Cleanup patch from Larry
2001-03-09 00:42:46 +00:00
Eric Andersen
13d1fa1d01
Add in 'trim' routine. Fix up sh.c so it works when wordexp
...
is not available.
-Erik
2001-03-08 23:59:45 +00:00
Mark Whitley
7e5291f111
Whitespace / formatting / bracket cleanup.
2001-03-08 19:31:12 +00:00
Eric Andersen
32f8c170b0
Remember to delete un-expandable variables, and do a better job of expanding
...
shell-specific things in case the wordexp implementation is broken (ie. the
stubbed out wordexp in uClibc).
-Erik
2001-03-08 17:44:37 +00:00
Eric Andersen
ca6045955d
Rework environment variable handling to use wordexp, per a suggestion from
...
Larry Doolittle a couple of months ago. This makes the stuff-expansion in lash
be ever so standards compliant. This change needs testing by everyone, but
appears to be solid enough to let us close bug #1090 .
It works for me; however, please test this change!
-Erik
2001-03-08 17:17:13 +00:00
Eric Andersen
11ae573320
remove an unused variable
2001-03-07 03:51:27 +00:00
Eric Andersen
702ec5926f
Fix the memory leak. No really this time.
...
-Erik
2001-03-06 22:17:29 +00:00
Eric Andersen
36278b9576
Fix func prototype
2001-03-06 20:47:31 +00:00
Eric Andersen
54851d3c65
Fixed a memory leak in lash. It seems that close_all was calling close()
...
directly instead of calling mark_closed(), which allowed the memory allocated
by mark_open() to never be freed.
-Erik
2001-03-06 20:44:39 +00:00
Eric Andersen
07f2f3917a
Close open files before calling builtin_exec(). I've tested this
...
and it fixes bug #1121 .
-Erik
2001-03-06 20:28:22 +00:00
Eric Andersen
5165fbed63
Oops. Since dirent.h depends on BB_FEATURE_SH_TAB_COMPLETION, put it
...
after busybox.h is included.
2001-02-20 06:42:29 +00:00
Eric Andersen
caeeb36784
This fixes lash so it handles environment variable expansion, regardless
...
of where the environment variables are located in an argument. This allows
things like 'echo foo$1$SHELL' to expand the same way bash would expand it.
Of course, to make this work I introduced a memory leak, and I am too tired
to find a way to fix it.
-Erik
2001-02-20 06:38:44 +00:00
Eric Andersen
cbe31dace5
It turns out that DODMALLOC was broken when I reorganized busybox.h
...
header file usage before the 0.49 release. To fix it, I had to move
the '#include "busybox.h"' to the end of the list of #include files.
-Erik
2001-02-20 06:14:08 +00:00
Eric Andersen
94456f5984
Put back Vladimir's testing defines, which I mistakenly removed.
2001-02-18 20:26:48 +00:00
Eric Andersen
28a78ab62c
Several features were hard coded on. Stop that. List tab completion
...
as working (thanks Vladimir!) and taking 4k.
-Erik
2001-02-16 20:26:50 +00:00
Eric Andersen
6faae7deb4
Commit Vladimir's latest cmdedit. I modified it slightly to ensure
...
parse_prompt() would be called before cmdedit_init(), since cmdedit_init()
calls cmdedit_setwidth() which uses cmdedit_prmt_len, which is set by
parse_prompt(). Also, added a mod, so very narrow terminals should now wrap
properly... This is working very nicely for me -- Vladimir has done some
very good work.
2001-02-16 20:09:17 +00:00
Eric Andersen
5f2c79d8c7
Make ar be crossed.
2001-02-16 18:36:04 +00:00
Eric Andersen
67991cf824
This patch, put together by Manuel Novoa III, is a merge of work
...
done by Evin Robertson (bug#1105) and work from Manuel to make
usage messages occupy less space and simplify how usage messages
are displayed.
2001-02-14 21:23:06 +00:00
Eric Andersen
af4ac77d9d
Apply a patch from Larry Doolittle to add "-all" and "-none" switches
...
to multibuild.pl. I did a little formatting adjustments to make it
_very_ obvious when things stop working. I also removed the USE_PROCFS
config option -- just do the right thing when USE_DEVPS_PATCH is enabled.
-Erik
2001-02-01 22:43:49 +00:00
Matt Kraai
f2cc2762bb
Create find_applet_by_name function. Save 32 bytes.
2001-02-01 19:21:20 +00:00
Matt Kraai
dd19c69904
Removed trailing \n from error_msg{,_and_die} messages.
2001-01-31 19:00:21 +00:00
Eric Andersen
306f4fe480
If the ioctl fails to tell us the winsize, default to 79.
...
-Erik
2001-01-31 00:30:45 +00:00
Eric Andersen
22332fd26f
Patch from Bryan Rittmeyer -- be more conservative by default
...
with the lash prompt.
-Erik
2001-01-30 23:40:39 +00:00
Eric Andersen
4bbdd788e0
Fix the pwd and group functions. The bb_ stuff was a leftover from
...
a brief past that mercifully (except for this) never made it into CVS.
-Erik
2001-01-30 22:23:17 +00:00
Eric Andersen
8ec10a9483
Fix up copyright msgs. Bump version to 0.49 in preparation for
...
a release. Update the website with release details.
-Erik
2001-01-27 09:33:39 +00:00
Eric Andersen
ab050f5522
Add in a patch to make busybox use the normal pwd.h and grp.h
...
functions. Add in simple implementations of these functions,
which can, optionally, be used instead of the system versions.
-Erik
2001-01-27 06:01:43 +00:00
Mark Whitley
4e33875759
Applied patch from Vladimir N. Oleynik <dzo@simtreas.ru> to do tab-completion
...
in Busybox shell. (Thanks, Vlad.)
2001-01-26 20:42:23 +00:00
Mark Whitley
6e25f92636
Fixed a li'l thinko.
2001-01-26 19:19:23 +00:00
Mark Whitley
59ab025363
#define -> static const int. Also got rid of some big static buffers.
2001-01-23 22:30:04 +00:00
Eric Andersen
2b8d07c590
Bug fix.
2001-01-23 00:27:51 +00:00
Eric Andersen
6f65a3a7e8
More printf cleanups
2001-01-20 01:10:07 +00:00
Matt Kraai
12f417edbd
Eliminate calls of the form "fprintf(stdout,". Thanks for the idea to
...
Vladimir N. Oleynik.
2001-01-18 02:57:08 +00:00
Eric Andersen
744b064a34
Needs to be NULL at init in all cases.
2001-01-05 21:23:44 +00:00
Eric Andersen
8ea28be6d2
Patch from larry doolittle to be ever so careful to cleanup
...
all open file descriptors, lest wierdness happen later.
2001-01-05 20:58:22 +00:00
Eric Andersen
0bcc813a34
Better label the globals.
2001-01-05 19:37:32 +00:00
Eric Andersen
b0970d4fed
Patch from Larry Doolittle to set values to static variables that live in the
...
bss at runtime, since sh.c can call sh.c, which causes these variables to not
be set to their defaults as god intended.
-Erik
2001-01-05 19:34:52 +00:00
Matt Kraai
defcd5e75e
Fix a segfault by only constructing the prompt when we need to. If we don't
...
do this we will segfault processing /etc/.profile since cwd isn't yet set.
2001-01-05 02:53:11 +00:00
Eric Andersen
09acc06c10
Move window size handling to cmdedit.c. Move prompt setup to setup_prompt_string()
2001-01-04 11:10:38 +00:00
Eric Andersen
849083c886
Update interface per what now exists...
2001-01-04 11:09:00 +00:00
Eric Andersen
b3dc3b8990
Cleanup -- move win handling to cmdedit.c, static-ify many functions.
2001-01-04 11:08:45 +00:00
Eric Andersen
2d5b64273f
Cleanup from Gennady Feldman <gfeldman@mail.com>
2000-12-22 18:02:02 +00:00
Matt Kraai
a9819b2908
Use busybox error handling functions wherever possible.
2000-12-22 01:48:07 +00:00
Eric Andersen
e9f07fb6e8
Another sh.c patch from Larry Doolittle. This makes redirects work properly
...
with non-forking shell builtins. Especially helpful for "read". This patch
also beautifies builtin_fg_bg, clarifies the problems with
run_command_predicate, makes if/then/else support the default, and corrects the
sense of the BB_FEATURE_SH_ENVIRONMENT comment.
2000-12-21 18:31:36 +00:00
Eric Andersen
70da6a66d2
Fix a warning in sh.c. Remove use of getline() in md5sum since
...
nobody else uses it and it is a GNU extension anyways...
2000-12-20 22:59:16 +00:00
Eric Andersen
86349776d0
Ok, this is a pretty major update to sh.c. I renamed all the variables and
...
function names to conform with the style guide. I also did a lot of work on
the if-then-alse-fi logic and added prototype (i.e. it segfaults when enabled)
line continuation support.
Furthermore, this patch includes Larry Doolittle's work on restructuring some
of the data structures that represent the job and child_program, allowing
several simplifications and fixing several bugs.
-Erik
2000-12-18 20:25:50 +00:00
Eric Andersen
f361ac29b0
Mem leak fix from Matt Kraai
2000-12-12 23:45:36 +00:00
Eric Andersen
b2356f6de9
Patch from Matt Kraai to fox sh.c escape problem such that
...
running things like 'echo "\n\tHi\n\t\!"' and 'echo -e "\n\tHi\n\t\!"'
behave as under bash.
2000-12-11 19:14:40 +00:00
Eric Andersen
f21aa84389
Put in i to getopt, so i will work...
2000-12-08 20:50:30 +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
1e7cea952b
Bettwr document the hidden internal sh.c #defines, and which folks
...
might want to use...
2000-12-06 23:47:38 +00:00
Eric Andersen
1d3523b7aa
patch from Larry Doolittle to rename BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
...
to the more pedantically correct BB_FEATURE_SH_APPLETS_ALWAYS_WIN.
2000-12-06 19:07:39 +00:00
Eric Andersen
87559829ff
Remove #ifdef __STDC__ junk. We don't do K&R round these parts,
...
so no point acting like we do.
2000-12-01 19:02:24 +00:00
Matt Kraai
3e856ce428
Stop using TRUE and FALSE for exit status.
2000-12-01 02:55:13 +00:00
Eric Andersen
b558e76eb1
Apply some patches from Gennady Feldman <gfeldman@mail.com> to
...
. /etc/profile, and to emulate bash prompt. I've cleaned up
his patches a bit and all looks good now...
2000-11-30 22:43:16 +00:00
Eric Andersen
8c725e624a
Patch from Larry Doolittle (with minor touchups from me so everything compiles
...
and works) to use the applet definitions in applets.h to autogenerate the applet
function and usage prototypes.
2000-11-30 00:27:06 +00:00
Eric Andersen
8c2d3f46ab
Fix escape char problem.
2000-11-30 00:03:57 +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
e5aef92e22
Fix up builtin overrides, and hack in the binary search for finding
...
matching applets into the shell.
2000-11-17 18:25:26 +00:00
Eric Andersen
50b3113dc2
Add in a new FEATURE (off by default) BB_FEATURE_SH_BUILTINS_ALWAYS_WIN.
...
Make the sh default to using external commands when a path is provided.
2000-11-17 18:07:30 +00:00
Eric Andersen
46f0beb167
Patch from Gennady Feldman <gfeldman@tradeline.net> to:
...
1. Opens redirections w/ the right access.
2. Doesn't do globbing for every single parameter (so it
doesn't stat every parameter).
2000-11-14 21:59:22 +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
Eric Andersen
a75466e981
Warning cleanup from Gennady Feldman
...
-Erik
2000-11-02 17:02:26 +00:00
Matt Kraai
bbaef66b3f
Consolidate handling of some fopen failures.
2000-09-27 02:43:35 +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
d2f5677762
Add in exec support (patch from Torbj?rn Axelsson <torax@cendio.se>)
...
and disable backticks (since they are still wierdly broken in some
cases.
2000-09-21 02:48:07 +00:00
Eric Andersen
06f64b2370
I think these featires are fairly safe...
...
-Erik
2000-09-19 07:16:39 +00:00
Matt Kraai
0b2da467a8
Avoid segfaults by not using snprintf to copy strings.
2000-09-19 06:46:44 +00:00
Pavel Roskin
5f84fd7066
"exit NUMBER" should exit, not return
2000-09-15 00:46:51 +00:00
Matt Kraai
131241f71c
Backslashes shouldn't be treated as backticks.
2000-09-14 00:43:20 +00:00
Matt Kraai
cbbe4d6bc2
Copy the string terminator.
2000-09-14 00:26:50 +00:00
Matt Kraai
dd450a0ded
Don't fork for the . (source) command so that environment settings are
...
preserved.
2000-09-13 03:43:36 +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
Matt Kraai
b89075298e
Fix unchecked calls to {m,c,re}alloc so that they print an error and
...
exit rather than segfaulting (what an improvement).
2000-09-13 02:08:21 +00:00
Matt Kraai
6085c72b6e
Reset optind so that getopt works in busybox applets called directly by sh.
...
Change the behavior of -c to correctly handle $1..$9.
2000-09-06 01:46:18 +00:00
Eric Andersen
851ce895bd
Turn off some debug noise.
...
-Erik
2000-08-21 22:34:23 +00:00
Eric Andersen
6a4c33c5c0
Clean up the nasty blunder I'd made of how different behaviors happen.
...
-Erik
2000-07-28 17:08:36 +00:00
Eric Andersen
1428c4f136
Oops. Forgot an ifdef
...
-Erik
2000-07-28 15:19:30 +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
6a99aaf020
More shell features.... if-then-else-fi is now basically usable (disable
...
by default pending further debugging). Added in some basic shell environment
support (i.e. $?, $0-$9, $$, $!, $#).
-Erik
2000-07-27 00:15:20 +00:00
Eric Andersen
e92108ae6d
Minor style cleanups.
2000-07-26 00:53:56 +00:00
Eric Andersen
fad9c1198a
Finish off fixing up the memleaks (I think). Added the beginnings of
...
some if-then-else-fi support (nonfunctional and turned off)
-Erik
2000-07-25 18:06:52 +00:00
Eric Andersen
b040d4f3da
Use BB_FEATURE_CLEAN_UP where appropriate
...
-Erik
2000-07-25 18:01:20 +00:00
Eric Andersen
91a4400fd5
Avoid trying to free NULL ptrs. Comment on malloc usages.
...
-Erik
2000-07-19 17:37:57 +00:00
Eric Andersen
6efc48c1ae
Sigh -- can't sleep. Clean up some mem leaks, fixed some bugs.
...
-Erik
2000-07-18 08:16:39 +00:00
Pavel Roskin
9c5fcc3408
New message added to messages.c: full_version
...
Used where possible
2000-07-17 23:45:12 +00:00
Eric Andersen
a1d187a8a8
Backtick support to infinite (memory limited) levels of nesting is
...
now implemented... So now busybox shell can do cool stuff like:
/home/andersen/CVS/busybox # echo foo `wc README` bar
foo 71 422 2951 README bar
I love writing cool new features.... Muhahahaha... (I think this is
leaking a little bit of memory every time it expands a backtick process,
so I still needs to do a bit of cleanup...)
-Erik
2000-07-17 19:14:41 +00:00
Matt Kraai
bf181b9338
Extract usage information into a separate file.
2000-07-16 20:57:15 +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
Eric Andersen
4ac6cb534d
Fix some stupid memory bugs.
...
-Erik
2000-07-14 01:13:37 +00:00
Eric Andersen
ec10b9d534
Add in redimentary backtick suport (doesn't work properly yet, but is
...
close).
-Erik
2000-07-14 01:13:11 +00:00
Mark Whitley
55380700d8
Added a smallish TODO comment.
2000-07-13 17:20:23 +00:00
Mark Whitley
37653aaf9c
Added some smallish comments to help folks understand why we have two tables
...
of builtins and the reasoning behind it.
2000-07-12 23:36:17 +00:00
Matt Kraai
be84cd4ef6
Always report the applet name when doing error reporting.
2000-07-12 17:02:35 +00:00
Eric Andersen
34e1941c32
Function name cleanup.
...
-Erik
2000-07-10 18:47:24 +00:00
Eric Andersen
03f9c81cec
Naming fix
...
-Erik
2000-07-07 20:37:12 +00:00
Eric Andersen
b2731b11ef
Had an extra tcsetpgrp.
...
-Erik
2000-07-06 16:56:56 +00:00
Eric Andersen
72965e3454
Fixed a potential infinite loop. First delete any chars after the
...
cursor, then delete everything before it. Before this, we would just
delete everything before the cursor and freak out if there were still
chars left (i.e. stuff after the cursor).
-Erik
2000-07-04 06:22:18 +00:00
Eric Andersen
b54833cde0
sh fixes from Marius Groeger <mag@sysgo.de>
...
-Erik
2000-07-03 23:56:26 +00:00
Eric Andersen
1c314ad655
* Fixed a _horrible_ bug where 'tar -tvf' could unlink
...
local files!!! Fix thanks to Marius Groeger <mgroeger@sysgo.de>
* Added support for "sh -c command args...", also thanks to
Marius Groeger <mgroeger@sysgo.de>
-Erik
2000-06-28 16:56:25 +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
Eric Andersen
74c66ad06e
Fix some spelling errors in the source as well.
...
-Erik
2000-06-16 19:57:44 +00:00
Erik Andersen
8ea7d8cdaf
First pass at fixing tar segfault, and more portability updates.
...
-Erik
2000-05-20 00:40:08 +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
c3f5c9c2ee
Minor fixes to being a standalone shell.
...
-Erik
2000-05-13 19:00:07 +00:00
Erik Andersen
bcd6177853
BusyBox shell (lash) can now be used as a standalone shell when
...
BB_FEATURE_STANDALONE_SHELL is defined (i.e. BusyBox can now completely replace
sash). Also fixed it so shell builtins now respect pipes and redirects.
-Erik
2000-05-13 06:33:19 +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
1d1d95051a
More Doc updates. cmdedit and more termio fixes.
2000-04-21 01:26:49 +00:00
Erik Andersen
a6c752201e
Updates
...
-Erik
2000-04-18 00:00:52 +00:00
John Beppu
6e703034f4
+ no need for comments.
2000-04-17 16:53:45 +00:00
Erik Andersen
e5b6c7dd9c
More updates to the docs, and fixes to sync things with the docs.
...
-Erik
2000-04-17 16:16:10 +00:00
Erik Andersen
61677feff7
Upates to include copyright 2000 to everything
...
-Erik
2000-04-13 01:18:56 +00:00
Erik Andersen
f0657d3229
Some enhancements I've been working on over the weekend,
...
-Erik
2000-04-12 17:49:52 +00:00
Erik Andersen
a2685735b1
Make tab completion an option
...
-Erik
2000-04-09 18:27:46 +00:00
Erik Andersen
f3b3d17060
More minor patches
...
-Erik
2000-04-09 18:24:05 +00:00
Erik Andersen
d4bc1fcad8
Minor noise removal
...
-Erik
2000-04-05 05:19:03 +00:00
Erik Andersen
6acaa40f27
First stages of (re-)writing busybox's tar creation support.
...
-Erik
2000-03-26 14:03:20 +00:00
Erik Andersen
1dbe340eba
more minor fixes
...
-Erik
2000-03-19 10:46:06 +00:00
Erik Andersen
c7c634bd88
Some more stuff.
...
-Erik
2000-03-19 05:28:55 +00:00
Erik Andersen
531bcb6826
Minor update
2000-03-17 20:49:55 +00:00
Erik Andersen
6273f655c8
Several fixes.
...
-Erik
2000-03-17 01:12:41 +00:00
Erik Andersen
161220c498
Fix fg bug
...
-Erik
2000-03-16 08:12:48 +00:00
Erik Andersen
13456d1fcd
Forgot these files...
...
-Erik
2000-03-16 08:09:57 +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