Commit Graph

918 Commits

Author SHA1 Message Date
Denis Vlasenko
4e5f82c76f find_stray_communal_vars: script which finds communal variables
resize: remove globals var
mdev: remove globals var
2007-06-03 22:30:22 +00:00
Denis Vlasenko
3f22b7f718 fdisk: make it work with big disks (read: typical today's disks)
even if CONFIG_LFS is unset.
2007-06-02 12:46:55 +00:00
Denis Vlasenko
9a7d38fe24 delete tons of extra #includes 2007-05-31 22:42:12 +00:00
Denis Vlasenko
fad2b86c9e use "glibc errno" trick not only for ash, but for entire busybox
(add/remove: 1/1 grow/shrink: 37/37 up/down: 139/-228)        Total: -89 bytes
2007-05-31 22:16:38 +00:00
Denis Vlasenko
c2f011aa03 more: stop using bss
# make && make bloatcheck
function                                             old     new   delta
gotsig                                                86     107     +21
more_main                                            777     781      +4
cin_fileno                                             4       -      -4
set_tty_to_initial_mode                               25       -     -25
new_settings                                         120      60     -60
initial_settings                                     120      60     -60
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 2/2 up/down: 25/-149)          Total: -124 bytes
2007-05-31 21:31:56 +00:00
Denis Vlasenko
4b924f3a5c whitespace fixes 2007-05-30 00:29:55 +00:00
Denis Vlasenko
b6adbf1be2 usage.c: remove reference to busybox.h
*: s/include "busybox.h"/include "libbb.h"
2007-05-26 19:00:18 +00:00
Denis Vlasenko
38ec147a18 mount: fix mounting of symlinks (mount from util-linux allows that) 2007-05-20 12:32:41 +00:00
Denis Vlasenko
68de720723 mount: fix incorrect usage of strtok (inadvertently used NULL sometimes).
the change is "for(xxx)...." -> "if(var) for(xxx)...", but my gcc 4.1.2
adds _158 bytes_!! WTF?? 8(
2007-05-09 20:38:04 +00:00
Denis Vlasenko
c34d35557b loop device code: readability improvement 2007-04-19 00:09:34 +00:00
Denis Vlasenko
3ace9fa6d8 switch_root: error_msg -> perror_msg, reduce by 22 bytes while at it. 2007-04-18 21:40:30 +00:00
Denis Vlasenko
87468857f6 style fixes 2007-04-13 23:22:00 +00:00
Denis Vlasenko
51742f4bb0 style fixes. No code changes 2007-04-12 00:32:05 +00:00
Denis Vlasenko
50f7f446ec bb_full_fd_action: remove potential xmalloc from NOFORK path
cat: stop using stdio.h opens
libbb: introduce & use open[3]_or_warn
function                                             old     new   delta
open3_or_warn                                          -      54     +54
bb_cat                                               115     144     +29
open_or_warn                                           -      25     +25
unlzma                                              2404    2412      +8
chattr_main                                          334     339      +5
xstrtoul_range_sfx                                   251     255      +4
telnet_main                                         1514    1510      -4
static.opt                                             4       -      -4
qgravechar                                           122     118      -4
fuser_add_pid                                         61      54      -7
fuser_add_inode                                      154     147      -7
writeFileToTarball                                  1542    1534      -8
refresh                                             1156    1148      -8
do_show                                              856     846     -10
read_leases                                          212     200     -12
setup_redirects                                      236     222     -14
iproute_list_or_flush                               1582    1568     -14
read_config                                          427     411     -16
write_leases                                         284     264     -20
hash_file                                            338     318     -20
copy_file                                           1760    1740     -20
do_iproute                                          2610    2588     -22
bb_full_fd_action                                    320     269     -51
open_to_or_warn                                      103      49     -54
fuser_main                                          1660    1596     -64
.rodata                                           131160  131096     -64
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 4/19 up/down: 125/-423)        Total: -298 bytes
2007-04-11 23:20:53 +00:00
Denis Vlasenko
80d14beae9 Rename two config options:
FEATURE_SH_STANDALONE_SHELL => FEATURE_SH_STANDALONE
FEATURE_EXEC_PREFER_APPLETS => FEATURE_PREFER_APPLETS
Make SH_STANDALONE depend on PREFER_APPLETS.
getopt.c: more randomconfig-induced fixes
2007-04-10 23:03:30 +00:00
Denis Vlasenko
335b63d8d1 make a few struct bb_applet members conditional
rename sllep_and_die -> xfunc_die
make fflush_stdout_and_exit NOFORK-safe
fix some buglets found by randomconfig
2007-04-10 21:38:30 +00:00
Denis Vlasenko
99912ca733 audit small applets and mark some of them as NOFORK.
Put big scary warnings in relevant places.
2007-04-10 15:43:37 +00:00
Denis Vlasenko
ff131b980d style fixes. No code changes. 2007-04-10 15:42:06 +00:00
Denis Vlasenko
240a1cfbbe add some missed statics on constant objects.
fix few #ifndef ENABLE_xxx

# size busybox_old busybox_unstripped
   text    data     bss     dec     hex filename
 677152    2920   18208  698280   aa7a8 busybox_old
 676420    2920   18208  697548   aa4cc busybox_unstripped
2007-04-08 16:07:02 +00:00
Denis Vlasenko
9c146a91d3 getopt: use getopt32 for option parsing - inspired by patch by
Mats Erik Andersson <mats.andersson64@comhem.se>
function                                             old     new   delta
getopt_main                                          809     810      +1
static.BUFFER                                          4       -      -4
shell                                                  8       4      -4
quote                                                  4       -      -4
quiet_output                                           4       -      -4
quiet_errors                                           4       -      -4
long_options_nr                                        4       -      -4
long_options_length                                    4       -      -4
long_options                                         388     384      -4
alternative                                            4       -      -4
shortopts                                             15       -     -15
normalize                                            243     220     -23
.rodata                                           131832  131800     -32
add_longopt                                          200       -    -200
------------------------------------------------------------------------------
(add/remove: 0/9 grow/shrink: 1/4 up/down: 1/-306)           Total: -305 bytes
2007-04-07 10:25:04 +00:00
Denis Vlasenko
bf295dd5b6 [u]mount: extend -t option (Roy Marples <uberlord@gentoo.org>) 2007-04-05 21:57:47 +00:00
Bernhard Reutner-Fischer
febe3c4211 - sed -e "s/char[[:space:]]*\*[[:space:]]*argv\[\]/char **argv/g" 2007-04-04 20:52:03 +00:00
Denis Vlasenko
219d14d514 random style fixes (extra spaces deleted) 2007-03-24 15:40:16 +00:00
Denis Vlasenko
58875aefe4 assorted fixes uncovered by randomconfig runs 2007-03-22 22:22:10 +00:00
Denis Vlasenko
c86e052b81 fix accumulated whitespace and indentation damage 2007-03-20 11:30:28 +00:00
Denis Vlasenko
dfce08f281 fdisk: bb_common_bufsiz1 is too small for globals on 64-bit CPU 2007-03-19 14:45:10 +00:00
Denis Vlasenko
bd852076b9 fdisk: get rid of _() macro.
Shorten some messages. Stop using stderr - anyone who tries
to use fdisk no-interactively is "strange" anyway.
Improve storage handling in bsd module.
   text    data     bss     dec     hex filename
 728112    1488   33788  763388   ba5fc busybox.t0/busybox
 727248    1488   33372  762108   ba0fc busybox.t1/busybox
2007-03-19 14:43:38 +00:00
Denis Vlasenko
83bb98f759 mkfs_minix: remove older, less efficient bss reduction trick 2007-03-18 14:43:21 +00:00
Denis Vlasenko
8e1a0cc4c9 fdisk: move 2k ptes[] array into bb_common_bufsiz1 2007-03-18 14:42:45 +00:00
Denis Vlasenko
4efeaee387 mkfs_minix: stop using lots of bss/data.
data -3500 bytes, code -300 bytes
keep_data_small: expand/fix
2007-03-15 19:52:42 +00:00
Denis Vlasenko
5659407595 swapon: reinstate hole check but reduce it to warning
inode_hash: remove unused variable
2007-03-14 22:55:39 +00:00
Denis Vlasenko
fad03bc3bb fsck_minix: stop using large buffers in bss 2007-03-13 22:31:28 +00:00
Denis Vlasenko
b3f09f4a50 swapon: random shrinkage 2007-03-12 18:16:24 +00:00
Denis Vlasenko
4eb8b936cb more: do not mess with "/dev/console" (!);
fill whole 1st screen (was "screen sans one line");
    fall back to cat if redirected or no ctty
less: fall back to cat if no ctty (was exiting)
resize: cosmetics
2007-03-10 16:32:14 +00:00
Denis Vlasenko
673d4bbab6 hwclock: support /dev/rtc0 etc 2007-03-07 23:02:50 +00:00
Denis Vlasenko
8e858e2700 clean up accumulated whitespace damage 2007-03-07 09:35:43 +00:00
Denis Vlasenko
ec27feb045 init: code readability enhancements; very small code changes 2007-02-17 15:52:02 +00:00
Mike Frysinger
ae30210d90 create a document for mdev so people dont have to rtfs 2007-02-14 13:20:29 +00:00
Denis Vlasenko
d4eda22d0c fix warning coming from printing size_t with %u 2007-02-06 21:52:05 +00:00
Denis Vlasenko
1d76f439da EXEC_PREFER_APPLETS support by Gabriel L. Somlo <somlo@cmu.edu> 2007-02-06 01:20:12 +00:00
Denis Vlasenko
cc24419e98 minix utils: de-inline bit ops (saves ~130 bytes) 2007-02-06 00:37:40 +00:00
Denis Vlasenko
dc485c9da6 minix utils: make a message easier to understand; small tweaks 2007-02-06 00:36:53 +00:00
Denis Vlasenko
f885c543da correct "pivot_root: pivot_root: <msg>" 2007-02-06 00:35:36 +00:00
Denis Vlasenko
5870ad9672 mount: (try to) support cifs with IPv6 2007-02-04 02:39:55 +00:00
Denis Vlasenko
06af216528 suppress warnings about easch <applet>_main() having
no preceding prototype
2007-02-03 17:28:39 +00:00
Denis Vlasenko
06c0a71d23 preparatory patch for -Wwrite-strings #3 2007-01-29 22:51:44 +00:00
Denis Vlasenko
b6aae0f381 preparatory patch for -Wwrite-strings #2 2007-01-29 22:51:25 +00:00
Mike Frysinger
0e282c9aed combine depends lines 2007-01-24 14:50:27 +00:00
Mike Frysinger
71a6a4e723 correct file format errors 2007-01-24 08:24:43 +00:00
Denis Vlasenko
6cd2d2bcba dnsd: getfileentry was leaking memory
mount: improve readability
2007-01-22 14:06:03 +00:00
Denis Vlasenko
8e1c71529c Convert cmdedit into more generic line input facility
(make history and completion optional at runtime).
Use it for fdisk, as an example.
Some unrelated fixes in fdisk are also here.
2007-01-22 07:21:38 +00:00
Denis Vlasenko
9af7c9d6b6 openvt,getty,vfork_daemon_rexec,mount: tighten up fd cleanup code
(will close all fd's > 2 on daemonization now)
getty: fix "getty -" support, and also do not try to chown/chmod "-"
telnetd: fix "lost ctty" bug
Yet another attempt on saner function names:
bb_sanitize_server_stdio(0/1) -> bb_sanitize_stdio() + bb_daemonize();
2007-01-19 21:19:35 +00:00
Denis Vlasenko
150f402b36 whitespace fixes (leading spaces to tab) 2007-01-13 21:06:21 +00:00
Denis Vlasenko
f7996f3b70 Trailing whitespace removal over entire tree 2007-01-11 17:20:00 +00:00
Denis Vlasenko
3821fb13ea fix verbose output; remove commented-out includes. 2007-01-11 16:51:21 +00:00
Denis Vlasenko
8e9ccba371 ipv6-ization efforts continue. Few bugs are found,
unknown number likely introduced...
2007-01-11 16:50:23 +00:00
Denis Vlasenko
d54708399d fdisk: remove 8k buffer from bss - OSF labels
are not THAT common anyway
2007-01-03 02:58:54 +00:00
Denis Vlasenko
9b1381fd2f convert calloc to xzalloc
fix sleep-on-die option
2007-01-03 02:56:00 +00:00
Denis Vlasenko
75fa4eb155 fsck_minix: tiny optimization 2007-01-03 01:36:42 +00:00
Denis Vlasenko
87033fb5fa forgot to svn add util-linux/minix.h :( 2007-01-03 00:47:47 +00:00
Denis Vlasenko
73464ce53d fbset: move variable from data to bss
fsck_minix: fix fallout
2007-01-03 00:45:05 +00:00
Denis Vlasenko
aa95959cb8 factor out minix structures/constants into minix.h
fsck_minix: optimizations
2007-01-03 00:43:19 +00:00
Denis Vlasenko
6dd392a252 fsck_minix: optimizations. ~130 bytes 2007-01-03 00:41:53 +00:00
Denis Vlasenko
24cfe8fe0c introduce small[u]int
fsck_minix: use it for flag variables. 140 bytes saved
2007-01-03 00:39:15 +00:00
Denis Vlasenko
2a85676fa5 silly style fixes 2007-01-02 16:45:05 +00:00
Denis Vlasenko
6a5dc5d75a next bunch of fixes for bugs found by randconfig 2006-12-30 18:42:29 +00:00
Denis Vlasenko
3bba545a54 done a dozen of randconfig test. guess what? ALL failed...
these are resulting fixes
2006-12-30 17:57:03 +00:00
Denis Vlasenko
666da5e2c6 merge post-1.3.0 fixes 2006-12-26 18:17:42 +00:00
Denis Vlasenko
b95636c52f remove casts from xmalloc() 2006-12-19 23:36:04 +00:00
Denis Vlasenko
28703015ab u_short, ulong exterminated
fdiskXXX: add a bit of sanity (not enough by far)
2006-12-19 20:32:02 +00:00
Denis Vlasenko
908d6b7054 mount: add getmntent_r stub for dietlibc 2006-12-18 23:07:42 +00:00
Denis Vlasenko
a597aaddfa s/extern inline/static ATTRIBUTE_ALWAYS_INLINE/g
xstrtou: disallow leading '+'
2006-12-16 23:48:13 +00:00
Denis Vlasenko
b15b7f7a4a more: fix for case when _FILE_OFFSET_BITS is not #defined.
samll size improvement.
2006-12-10 01:57:29 +00:00
Bernhard Reutner-Fischer
732268fe69 - provide central knob to turn off RPC related options. 2006-12-01 16:56:12 +00:00
Denis Vlasenko
93f6aa6bca "make bigdata" biggest offender dealt with:
xmalloc 16Kb buffer instead of keeping it in bss
2006-11-30 21:11:01 +00:00
Denis Vlasenko
28bb84bd4e Well, I am not 100.00% usre that uint16 will suffice there.
We don't lose anything by using 'unsigned' instead.
2006-11-29 23:15:04 +00:00
Denis Vlasenko
016a82e279 another -90 bytes. That #define is **evil** 2006-11-29 22:47:42 +00:00
Denis Vlasenko
66b86c6902 mkfs.minix: more cleanups, -~300 bytes of code.
Added debugging support.
2006-11-29 22:33:47 +00:00
Denis Vlasenko
c6ce8733dd cut 0.5k off mkfs.minix
assorted strtoul fixes (that's what brought me into minix)...
2006-11-29 18:15:52 +00:00
Denis Vlasenko
834410a5a5 getopt32-ification of fdisk 2006-11-29 12:00:28 +00:00
Denis Vlasenko
5e90e10647 Closing bug 1040:
The "quiet" option is quietly (hah) ignored. It should be passed through
to the mount() syscall in the comma separated list of options.
I found the problem with the vfat/msdos filesystems, which uses
a quiet option to override some complaints and errors.
2006-11-27 19:50:16 +00:00
Denis Vlasenko
d9e15f2068 style cleanup: return(a) -> return a, part 2 2006-11-27 16:49:55 +00:00
Denis Vlasenko
079f8afa0a style cleanup: return(a) -> return a, part 1 2006-11-27 16:49:31 +00:00
Denis Vlasenko
10d0d4eec7 byteswap ops had extra mask ops - removed 2006-11-27 16:48:17 +00:00
Denis Vlasenko
cf749bc10c small fixes:
fix xstrdup to not grossly overallocate memory
use xopen instean of xopen3 in several places
etc.
2006-11-26 15:45:17 +00:00
Denis Vlasenko
d398ecab9d hunt down improper include <>, make mkswap output 4Gb+ friendly 2006-11-24 15:38:03 +00:00
Denis Vlasenko
cf30cc82a3 header_verbose_list: stop truncating file size in listing 2006-11-24 14:53:18 +00:00
Denis Vlasenko
6a353c8158 mount: if FILE* is NULL, it's not wise to use it. 2006-11-19 17:34:57 +00:00
Denis Vlasenko
89f0b3486d rodata cleanup. "unable to" == "cannot". -300 bytes 2006-11-18 22:04:09 +00:00
Denis Vlasenko
1119972f91 umount: umount -a shouldn't stop on first failure 2006-11-12 17:23:45 +00:00
Denis Vlasenko
5af906e7c8 rename: compare_string_array -> index_in_str_array
introduce index_in_substr_array and use it in
iproute2
2006-11-05 18:05:09 +00:00
Denis Vlasenko
dd539f7687 Unneeded code removed, usused field "unsigned pscpu" removed 2006-11-01 20:20:37 +00:00
Denis Vlasenko
9225854144 mostly style fixes 2006-11-01 10:25:35 +00:00
Denis Vlasenko
5c7596058d ls: cleanup part 1 2006-10-28 12:37:16 +00:00
Denis Vlasenko
82f9e28513 OFF_T_FMT -> OFF_FMT 2006-10-27 13:00:07 +00:00
Denis Vlasenko
25d8062128 top: batch mode should output all processes 2006-10-27 09:34:22 +00:00
Denis Vlasenko
d3d004dd35 last nail into error_msg() (de)capitalization 2006-10-27 09:02:31 +00:00
Denis Vlasenko
ddec5af6b0 rename functions to more understandable names 2006-10-26 23:25:17 +00:00
Denis Vlasenko
f0ed376eda remove bb_printf and the like 2006-10-26 23:21:47 +00:00
Denis Vlasenko
68f2187265 mount: use switch (compare_string_array(..))
where appropriate, saves >100 bytes.
2006-10-26 01:47:34 +00:00
Denis Vlasenko
1457915afc xconnect is non-conforming to "xfunc like libc" rule. Fixing 2006-10-26 01:09:46 +00:00
Denis Vlasenko
c6f188def8 silly size savings and capitalization fixes 2006-10-26 00:37:00 +00:00
Denis Vlasenko
d18a3a20db use skip_whitespace where appropriate 2006-10-25 12:46:03 +00:00
Denis Vlasenko
e1a0d486e4 message string changes, mostly for consistency, also -32 bytes in .rodata 2006-10-20 13:28:22 +00:00
Denis Vlasenko
13c5a6832f mount: support user mounts if CONFIG_DESKTOP 2006-10-16 22:39:51 +00:00
Denis Vlasenko
f46be09106 mdev: reduce excessive indentation 2006-10-16 19:39:37 +00:00
Denis Vlasenko
efeed5ed28 fdisk: compilation fix 2006-10-14 16:16:03 +00:00
Denis Vlasenko
ea62077b85 add open_read_close() and similar stuff 2006-10-14 02:23:43 +00:00
Denis Vlasenko
2d5ca60bfb bb_get_[chomped]line_from_file wasn't descriptive enough.
Renaming...
2006-10-12 22:43:20 +00:00
Denis Vlasenko
372686bde7 cut, mount: small improvements 2006-10-12 22:42:33 +00:00
Denis Vlasenko
98ae2160b6 fdisk: separate sun/aix/etc code into #included files 2006-10-12 19:30:44 +00:00
Denis Vlasenko
1385899416 attempt to regularize atoi mess. 2006-10-08 12:49:22 +00:00
Denis Vlasenko
000b9ba91f eject: -T fix 2006-10-05 23:12:49 +00:00
Denis Vlasenko
7d219aab70 build system overhaul 2006-10-05 10:17:08 +00:00
Denis Vlasenko
8f8f268cfd bb_applet_name -> applet_name 2006-10-03 21:00:43 +00:00
Denis Vlasenko
67b23e6043 getopt_ulflags -> getopt32.
It is impossible to formulate sane ABI based on
size of ulong because it can be 32-bit or 64-bit.
Basically it means that you cannot portably use
more that 32 option chars in one call anyway...
Make it explicit.
2006-10-03 21:00:06 +00:00
Denis Vlasenko
b6332248ca fdformat: remove redundant check 2006-10-03 19:57:50 +00:00
Denis Vlasenko
9275814a9e lots of silly indent fixes 2006-10-03 19:56:34 +00:00
Denis Vlasenko
546cd1881a mount: accept and ignore -s (sloppy) option.
needed for compatibility with Linux automounter.
2006-10-02 18:52:49 +00:00
Denis Vlasenko
39d551fd15 fbset: store short string in the structure itself instead of the pointer
(small size saving)
2006-09-30 16:28:30 +00:00
Denis Vlasenko
274b8c0639 fbset: add support for -a (bug 1017) 2006-09-30 16:22:59 +00:00
Denis Vlasenko
0b193a7871 losetup: use /dev/loopN or /dev/loop/N according to CONFIG_FEATURE_DEVFS=n/y 2006-09-29 21:47:11 +00:00
Denis Vlasenko
a959588b80 Yet another silly little byte saving. couldn't -> cannot 2006-09-29 21:30:43 +00:00
Denis Vlasenko
b1726785f9 mount: fix bug 946 (mount -f should update mtab) 2006-09-29 14:43:20 +00:00
Denis Vlasenko
956a569360 losetup: with no arguments lists all /dev/loopN. Corrected help text.
(patch by Vladimir Dronnikov <dronnikov@gmail.ru>)
2006-09-27 14:51:27 +00:00
Denis Vlasenko
da3cec9c85 mount: fix breakage from recent changes (spurious -ro mounts) 2006-09-24 01:01:01 +00:00
Denis Vlasenko
4c196a80fc hexdump: fixlet for my breakage 2006-09-23 15:53:01 +00:00
Denis Vlasenko
2dbeaa95ca hexdump: deindent, almost fits into 80 columns now 2006-09-23 13:31:46 +00:00
Denis Vlasenko
27ee7ba95e losetup: getopt_ulflags'ification + small fix for perror_nomsg 2006-09-22 14:53:41 +00:00
Denis Vlasenko
f47ff100cc getopt: fix whitespace damage 2006-09-22 08:42:06 +00:00
Denis Vlasenko
cad36681d2 readprofile: getopt_ulflags'isation 2006-09-22 08:39:49 +00:00
Denis Vlasenko
7869c018b5 ipcs: fix my recent breakage 2006-09-22 08:30:52 +00:00
Rob Landley
e9a7a6212b Change license statements (and clean up headers) on some of the files that
Erik or I are primary copyright holders on.
2006-09-22 02:52:41 +00:00
Denis Vlasenko
ce32f65a1b mount: nfs mount should enable bb_error-to-syslog support 2006-09-21 12:30:16 +00:00
Denis Vlasenko
116080a13a mount: make Rob happy by reinstating #defines 2006-09-21 11:13:08 +00:00
Denis Vlasenko
3ccc100670 ipcs: fix output (misaligned columns) 2006-09-19 17:43:56 +00:00
Denis Vlasenko
c7b9bad519 ipcs: getopt_ulflag'ification, -170 bytes 2006-09-19 17:40:31 +00:00
Denis Vlasenko
85f9e32f7f mount: fstabname needs to be const char* 2006-09-19 14:14:12 +00:00
Denis Vlasenko
23514fe251 mount: fix warning (printf field width of * wants int, not size_t) 2006-09-19 14:07:52 +00:00
Denis Vlasenko
9213a9e0f2 whitespace cleanup 2006-09-17 16:28:10 +00:00
Denis Vlasenko
a6127aacef mount: style fixlet 2006-09-17 15:51:52 +00:00
Denis Vlasenko
029c469934 mount: revert mount --bind to using "bind" as fstype. 2006-09-17 15:39:22 +00:00
Denis Vlasenko
a52145a927 mount: mount_it_now() - char *dir is not really needed. 2006-09-17 15:09:48 +00:00
Denis Vlasenko
c889d2b786 mount: fix "duplicate mount options in mtab" bug 2006-09-17 15:08:12 +00:00
Denis Vlasenko
c0975199be mount: nfs_strerror's static buffer was bigger than needed. 2006-09-17 15:06:34 +00:00
Denis Vlasenko
9c99b62b9e mount: getopt_ulflag'ification 2006-09-17 15:05:31 +00:00
Denis Vlasenko
13b4924ce0 mount: style fixes 2006-09-17 15:04:35 +00:00
Denis Vlasenko
3bc59aa2a4 mount: fix bugs: free(mp->mnt_fsname) of non-malloced ptr;
check for "more than 2 arguments" was actually checking for -2.
2006-09-17 15:04:01 +00:00
Denis Vlasenko
fc56dd2e21 mount: use bb_simplify_path as appropriate 2006-09-17 15:01:53 +00:00
Denis Vlasenko
8d474b5009 mount: style fixes 2006-09-17 15:00:58 +00:00
Denis Vlasenko
30a64cdc95 mount: reorder things, fix NFS-less mount. 2006-09-15 15:12:00 +00:00
Denis Vlasenko
af9854b81a umount: do not try to close FILE* which is NULL. 2006-09-14 16:40:46 +00:00
Denis Vlasenko
be507170eb mount: -o remount should not add lines to /etc/mtab 2006-09-14 16:09:27 +00:00
Denis Vlasenko
25098f7fd5 mount: move code from nfsmount.c into mount.c 2006-09-14 15:46:33 +00:00
Denis Vlasenko
727ef94447 mount: fix mtab support (but it is still rather buggy) 2006-09-14 13:19:19 +00:00
Rob Landley
cc9962d7fb More code from kernel developers, and therefore licensed under GPLv2 only.
Clarify the license boilerplate.

On an unrelated note, this could use busyboxification.  check_mount() looks
reusable and ask() is generic...
2006-09-14 05:27:28 +00:00
Bernhard Reutner-Fischer
7fee0c4357 - fix copy'n paste errors that got introduced when switching to the shorter boilerplate.
No object code changes.
2006-09-13 16:39:19 +00:00
Rob Landley
20cc6d567f Remove pointless "const". Bloatcheck says 0 bytes difference. 2006-09-12 21:42:17 +00:00
Denis Vlasenko
00d7d6cef6 nfsmount: sanitize it. It had a rather peculiar idea of implementing "bg"
option - it was going to return a special flag back to caller and
expecting caller to call it again with special parameter! Also
caller was charged with calling mount() syscall...

mount: mtab support was non-functional. Enabling it revealed serious bug
which is not fixed yet.
2006-09-11 17:42:44 +00:00
Bernhard Reutner-Fischer
64d7e93081 - convert a few xopen3(,,0) into xopen(,). Also peruse the fact that xopen defaults to 0777 on it's own, so we don't need to xopen3(,,0777).
Saves a few bytes:
$ size busybox.old busybox                                text    data     bss     dec     hex filename
 839676    8780  243592 1092048  10a9d0 busybox.old
 839660    8780  243592 1092032  10a9c0 busybox
$ make CC=gcc-4.2-HEAD bloatcheck
function                                             old     new   delta
static.vconfig_main                                  281     279      -2
static.rx_main                                      1076    1074      -2
static.mt_main                                       294     292      -2
static.gzip_main                                     753     751      -2
static.mkfs_minix_main                              4034    4030      -4
static.unzip_main                                   1771    1766      -5
static.crontab_main                                 1513    1507      -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-23)             Total: -23 bytes
2006-09-11 16:01:40 +00:00
Denis Vlasenko
3077294615 nfsmount: remove some really old code (for kernels 1.x!) + small cleanups. 2006-09-10 18:48:16 +00:00
Denis Vlasenko
d2b13eab98 nfsmount: delete nfsmount.h 2006-09-10 18:40:18 +00:00
Denis Vlasenko
39e93cc951 nfsmount: nfsmount.h merged into nfsmount.c 2006-09-10 18:38:17 +00:00
Denis Vlasenko
2244a21a8e nfsmount: style fix 2006-09-10 18:28:23 +00:00
Denis Vlasenko
5983914c1b ipcs: silly trick with strings. saves ~200 bytes. 2006-09-10 18:26:51 +00:00
Rob Landley
c27f4f5445 A quick cleanup pass of some low-hanging mess. 2006-09-08 00:41:48 +00:00
Denis Vlasenko
6d655be5df removed a lot of trailing \n in bb_msg() calls. It is added
automatically by function itself.
2006-09-06 19:02:46 +00:00
Rob Landley
4cb035dd23 Vladimir Dronnikov (ybrnj80 at yandex dot ru) pointed out that my cleanup of
his code introduced a bug (an extra backslash in the CIFS mount string).
2006-09-05 14:00:21 +00:00
Rob Landley
4d609cb5a3 Thinko. 2006-09-04 19:43:26 +00:00
Rob Landley
89d9d4d5f7 Vladimir Dronnikov also submitted a CIFS support patch to mount, which I
heavily reworked here and probably broke.  Tomorrow I need to set up a
copy of samba to test against.  (This compiles, I make no promises beyond that.)
2006-09-01 08:10:44 +00:00
Rob Landley
88621d7398 Svn 16007 broke the build under gcc 4.0.3. This fixes up some of the damage
(the e2fsprogs directory is too twisty and evil to easily fix, but I plan
to rewrite it anyway so I'll just bump that up in priority a bit).
2006-08-29 19:41:06 +00:00
Bernhard Reutner-Fischer
73561cc75a - pull from busybox_scratch: r15829:15850
Various fixes, cleanups and shrinkage:
saves 952 Bytes:
   text    data     bss     dec     hex filename
1087742   15853  790632 1894227  1ce753 ../busybox/busybox.old
1086790   15853  790632 1893275  1ce39b busybox
via:
# scripts/bloat-o-meter ../busybox/busybox_unstripped.old busybox_unstripped 
function                                             old     new   delta
ipcrm_main                                           756     822     +66
getval                                                 -      61     +61
maybe_set_utc                                          -      40     +40
udhcpc_main                                         2896    2912     +16
md5_hash_block                                       428     437      +9
opt                                                    8      16      +8
qgravechar                                           106     110      +4
make_bitmap                                          292     295      +3
inflate_unzip                                       2056    2059      +3
add_partition                                       1412    1414      +2
__parsespent                                         156     158      +2
qrealloc                                              41      42      +1
format                                                 -       1      +1
catv_main                                            313     314      +1
watch_main                                           293     292      -1
varunset                                              81      80      -1
part                                                   1       -      -1
check_if_skip                                        837     836      -1
start_stop_daemon_main                               840     837      -3
create_lost_and_found                                175     172      -3
supress_non_delimited_lines                            4       -      -4
static.l                                               4       -      -4
static.c                                               5       1      -4
bsd_sum_file                                         237     233      -4
eval2                                                338     332      -6
arithmetic_common                                    166     158      -8
cmpfunc                                               22       5     -17
cksum_main                                           294     275     -19
cmp_main                                             465     439     -26
dd_main                                             1535    1508     -27
rmmod_main                                           376     333     -43
cut_file                                             727     644     -83
ipcs_main                                           3809    3721     -88
cut_main                                             722     614    -108
date_main                                           1443    1263    -180
remove_ids                                           222       -    -222
------------------------------------------------------------------------------
(add/remove: 3/4 grow/shrink: 11/18 up/down: 217/-853)       Total: -636 bytes
2006-08-28 23:31:54 +00:00
Rob Landley
4470b74e29 The kernel can't handle umount /dev/hdc, we have to do it through mtab,
except that we still have to work when there is no mtab.

Oh, and while we're at it, take advantage of the fact that modern processors
avoid branches via conditional assignment where possible.  ("x = a ? b : c;"
turns into "x = c; if (a) x = b;" because that way there's no branch to
potentially mispredict and thus never a bubble in the pipeline.  The if(a)
turns into an assembly test followed by a conditional assignment (rather
than a conditional jump).)  So since the compiler is going to do that _anyway_,
we might as well take advantage of it to produce a slightly smaller binary.

So there.
2006-08-17 19:07:20 +00:00
Rob Landley
10b36f94bb Patch from Chris Steel to fix mdev deleting device nodes. 2006-08-10 01:09:37 +00:00
Rob Landley
3ba7bd143e Vladimir Dronnikov convinced me to twiddle the semantics of the new shared
subtree stuff to look more like http://lwn.net/Articles/159077/ thinks
they should.
2006-08-09 19:51:13 +00:00
Rob Landley
721b46e0e6 Fix a typo (|| instead of |) and remove two comments about a problem fixed
in the previous patch.
2006-08-08 12:54:02 +00:00
Rob Landley
e3781b7312 Add shared subtree support, suggested by Vladimir Dronnikov. Also break out a
few new (unfinished) config options, which I intend to make hidden (but
enabled) when CONFIG_NITPICK is disabled.  Getting the .config infrastructure
to do that is non-obvious, it seems...
2006-08-08 01:39:49 +00:00
Rob Landley
47b16a6fe9 Using lstat() instead of stat() means that attempting to loopback mount
a symlink doesn't work.
2006-08-08 00:47:17 +00:00
Rob Landley
7250915d78 Make a warning go away on 64-bit systems. 2006-08-06 20:41:11 +00:00
Rob Landley
59fe8b9089 There are a number of reasons for reinventing printf(). Writing status to
stdout is not one of them.
2006-08-04 22:02:55 +00:00
Rob Landley
081e38483e Remove xcalloc() and convert its callers to xzalloc(). About half of them
were using "1" as one of the arguments anyway, and as for the rest a multiply
and a push isn't noticeably bigger than pushing two arguments on the stack.
2006-08-03 20:07:35 +00:00
Rob Landley
7478804b78 Fix umount so loop device disassociation hopefully doesn't screw up errno on
a failed mount.  And while I'm at it, legacy mdev removal was only being done
in the _failure_ case?  That can't be right.  Plus minor header cleanups
and an option parsing tweak.
2006-08-03 17:54:45 +00:00
Rob Landley
d921b2ecc0 Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes...  General cleanup pass.  What I've
been doing for the last couple days.

And it conflicts!  I've removed httpd.c from this checkin due to somebody else
touching that file.  It builds for me.  I have to catch a bus.  (Now you know
why I'm looking forward to Mercurial.)
2006-08-03 15:41:12 +00:00
Rob Landley
446129adae Add back in non-ifdef version of FEATURE_PRETTY_PRINT, and get the attribution
right this time.
2006-07-27 16:40:55 +00:00
Rob Landley
fc367f9824 There's no excuse for adding new #ifdefs to the code like that. None at all. 2006-07-27 15:02:58 +00:00
Mike Frysinger
eac0c06938 allow people to display dmesg output without syslog levels 2006-07-27 11:18:36 +00:00
Mike Frysinger
a7881119cc de-cuddle if( to if ( 2006-07-27 03:00:49 +00:00
Rob Landley
d893b120ba New mkswap. Small and simple. Might even work. :) 2006-07-16 08:17:03 +00:00
Rob Landley
aa516a61b9 Fix three embarassing thinkos in the new dmesg.c:
1) the c argument shouldn't have had a : after that, dunno how that got there.
2) the xgetlarg for level was using size
3) because xgetlarg's error message _SUCKS_ (it does a show_usage() rather than giving any specific info about the range that was violated) I dropped the range down to 2 bytes.  (Which works fine, I dunno why we were nit-picking about that...)
2006-07-06 16:41:56 +00:00
"Robert P. J. Day"
63fc1a9e08 Standardize on the vi editing directives being on the first line. 2006-07-02 19:47:05 +00:00
"Robert P. J. Day"
53f21e34a7 Remove "#if 0" content. 2006-07-01 14:34:33 +00:00
"Robert P. J. Day"
68229837ff Remove all usage of the "register" storage class specifier. 2006-07-01 13:08:46 +00:00
Mike Frysinger
c340ea191a fix from Kolbjørn Barmen for building for m68k targets 2006-06-30 02:53:56 +00:00
Rob Landley
ef10d52745 Upgrade mdev to allow commands to be run on create/delete.
Both Jason Schoon and Giuseppe Ciotta deserve credit for this, I used elements
of both.  It's been upgraded so that you can specify that a given command
should run at create, at delete, or at both using different special characters
(@, $, and * respectively).  It uses the system() method of running command
lines which means you can use environment variables on the command line (it
sets $MDEV to the name of the current device being created/deleted, which is
useful if you matched it via regex), and the documentation warns that you need
a /bin/sh to make that work, so you probably want to pick a default shell.
2006-06-26 14:11:33 +00:00
Rob Landley
11c7a7bed6 Various cleanups I made while going through Erik Hovland's patch submissions,
some of which are even from him. :)
2006-06-25 22:39:24 +00:00
Rob Landley
0cc2c2c289 Patch from Paul Fox to improve mount's error handling behavior, which I beat
on a bit.
2006-06-21 03:53:33 +00:00
Rob Landley
dbfb5a3cb7 Andre (armcc2200@yahoo) patched a bug where successful mounts could sometimes
produce an error, due to a missing rc assignment.
2006-06-21 02:39:57 +00:00
Rob Landley
7a260f01ce Make some 64 bit warnings go away on x86-64. 2006-06-19 03:20:03 +00:00
Rob Landley
ea224be6aa skip_whitespace() shouldn't claim its return value is const, it doesn't know
that and callers wind up typecasting it back.
2006-06-18 20:20:07 +00:00
Rob Landley
bc8c50351f Remove warnings caused by #include <sys/mount.h> in platform.h. Apparently
we redefine a lot of stuff from standard header files...
2006-06-16 04:25:19 +00:00
Rob Landley
22d26fc6ae Patch from Yann Morin to put BLKGETSIZE64 in platform.h had rather a lot of
fallout due to the #include <sys/mount.h>.  Removed that #include from various
applets and fixed up those that were unhappy when that #include was made
because they'd block copied stuff out of it.  (Sigh.)
2006-06-15 15:49:36 +00:00
Rob Landley
7c7b0d7437 Rewrite of dmesg, smaller and simpler. 2006-06-13 18:31:04 +00:00
Rob Landley
18958e9309 Random cleanup of platform.h. 2006-06-13 18:28:33 +00:00
Rob Landley
0960ca7383 Work around a persistent uClibc bug, since 0.9.29 still hasn't shipped.
Poked to do this by Jason Schoon.
2006-06-13 18:27:16 +00:00
Rob Landley
fd8409f8c5 Patch from Denis Vlasenko, tweak error messages. 2006-06-13 15:31:39 +00:00
Rob Landley
9a1a9de49f Minor size shrinkage. 2006-06-13 15:12:14 +00:00
Bernhard Reutner-Fischer
19008b8373 - reuse strings and messages. Saves about 600B 2006-06-07 20:17:41 +00:00
Rob Landley
c44ab02f15 Whack the one last warning in make allbareconfig... 2006-06-06 19:50:16 +00:00
Bernhard Reutner-Fischer
1b9d7c9aa9 - use bb_msg_{read,write}_error where appropriate.
text	   data	    bss	    dec	    hex	filename
 825015	   9100	 645216	1479331	 1692a3	busybox.old
 824919	   9100	 645216	1479235	 169243	busybox
2006-06-03 22:45:37 +00:00
Bernhard Reutner-Fischer
5c0ae06ef1 - No options should set the current system time.
Shaun Jackman writes:
A bug introduced in svn 11946 broke rdate. It no longer sets the
current system time when no options are specified. The options have
the opposite sense from what one might think, and, oddly enough, -ps
is intentionally a no-op.

Quoth rdate(8) from the BSD System Manager's Manual:

    -p      Do not set, just print the remote time
    -s      Do not print the time.
2006-06-03 10:24:20 +00:00
Rob Landley
15d20a03d6 Remove _() and N_() from platform.h. #define them as NOP macros in the two
files still using them.  I didn't remove them from e2fsck.c to avoid stomping
pending cleanup patches from Garrett, and I didn't bother to remove them from
fdisk.c because that entire file needs to be rewritten from scratch.
2006-05-29 05:00:44 +00:00
Rob Landley
8394729ddf Remove _(). 2006-05-29 04:49:55 +00:00
Rob Landley
c44bc986b7 Fix some warnings in allbareconfig. 2006-05-28 01:19:06 +00:00
Rob Landley
299a6b4d7b Consolidate #include <sys/time.h> so libbb.h does it. 2006-05-27 21:42:58 +00:00
Rob Landley
8bb50782a5 Change llist_add_* to take the address of the list rather than returning the new
head, and change all the callers.
2006-05-26 23:44:51 +00:00
Bernhard Reutner-Fischer
01d23ade57 - add central knob to turn off getopt_long everywhere. EXPERIMENTAL!
Adds "Enable getopt long" under "General options", default y.
  Send patches to fix getopt_ulflags and run_parts.c if you turn this off..
  See http://busybox.net/lists/busybox/2006-May/021828.html for a start to run-parts
2006-05-26 20:19:22 +00:00
Bernhard Reutner-Fischer
08421e1d0c - work around bug in gcc-3.4.x on ARM 2006-05-26 14:05:48 +00:00
Mike Frysinger
fa6c4844b2 fix spelling mistakes 2006-05-26 01:48:17 +00:00
Rob Landley
5cd1ccd995 Convert to a global struct, the way sed was. Now I have two, I can work out
the infrastructure to merge global structs into a union...
2006-05-21 18:33:27 +00:00
Bernhard Reutner-Fischer
b1629b1b2a - remove emacs layout block as suggested by Robert P.J. Day
- use shorter boilerplate while at it
2006-05-19 19:29:19 +00:00
Bernhard Reutner-Fischer
e2e56c7c41 - single KERNEL_VERSION(a,b,c) macro in platform.h
- rename get_kernel_revision() to get_linux_version_code
from Robert P. J. Day
2006-05-19 11:54:02 +00:00
Mike Frysinger
39440e520c pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list 2006-05-13 02:33:09 +00:00
Rob Landley
094b9f7e1d Shut up the warning "implicit declaration of strlen". 2006-05-10 17:41:21 +00:00
Rob Landley
a6b5b60942 Fiddling with llist to make memory management easier. Specifically, the
option to delete the contents of the list when we delete the list is a
good thing.
2006-05-08 19:03:07 +00:00
Rob Landley
15fe2e11d7 Shrink the code about 50 bytes, allocate less run-time memory, and add a
comment that null terminating the string we sscanf() shouldn't be required
since the kernel adds \n to the end of it and sscanf will stop there.
2006-05-08 02:53:23 +00:00
Rob Landley
17507fa4c5 More busting on legacy mtab support in the help text. 2006-05-08 02:22:24 +00:00
Rob Landley
a389651115 Remove bb_strlen() in favor of -fno-builtin-strlen. Saves as many bytes
as the old optimization did (actually does slightly better under gcc 4.0), and
simplifies the code.
2006-05-07 20:20:34 +00:00
Rob Landley
2c39eee805 Migrate endianness macros. 2006-05-05 16:54:40 +00:00
Rob Landley
49159c7f94 Patch from Jason Schoon to make mount -a not abort on the first failure. 2006-05-05 15:01:38 +00:00
Rob Landley
db2ab89b7c Build break fix from Bernhard fischer, fixing fallout from svn 14974. (My bad.) 2006-05-03 21:39:28 +00:00
Rob Landley
3ea66a805d Patches from Denis Vlasenko to rework "current_name" handling and remove
print_current_name().
2006-04-29 20:08:40 +00:00
Rob Landley
8a6254994c Patch from Denis Vlasenko:
* Do not initialize globals to 0, it is done automatically
* unsigned short -> uint16_t,  unsigned int -> uint32_t
  where appropriate (did it ever work on Alphas?)
* triple sync() is silly - removed
* check_zone_nr uses check_zone_nr2 now
* remove trailing periods from messages, uppercase first letter
2006-04-29 20:05:17 +00:00
Rob Landley
9950cab8e0 Patch from Denis Vlasenko:
ix bug (inode_map and zone_map are char* pointers,
sizeof() on them gives 4 or 8)
2006-04-29 20:03:54 +00:00
Mike Frysinger
10f55b1dae Jason Schoon writes: This makes the case where LFS is not defined, but fdisk is configured with large disk support use the pretty build rules. 2006-04-21 21:59:22 +00:00
Rob Landley
29ba9796be Robert Eggers noticed that nfsmount would sometimes incorrectly return success. 2006-04-17 23:02:57 +00:00
Mike Frysinger
1a54030445 use memmove() instead of bcopy() 2006-04-16 05:58:21 +00:00
Rob Landley
2ec922eed5 Patch from Robert P Day: let menuconfig indent stuff for us, we don't have
to do it in Config.in.
2006-04-13 23:22:16 +00:00
Bernhard Reutner-Fischer
c2cb0f32b4 - patch from Denis Vlasenko to add and use bb_xopen3() 2006-04-13 12:45:04 +00:00
Bernhard Reutner-Fischer
dac7ff15b7 - patch from Denis Vlasenko to add and use bb_xsocket() and to use
bb_xopen some more while at it.
  Also use shorter boilerplate while at it.
2006-04-12 17:55:51 +00:00
Rob Landley
19af279d16 Kumar spotted another bug: if we autodetect nfs and they haven't specified the
fstype, it should be set to nfs.
2006-04-05 01:43:39 +00:00
Rob Landley
ab8736064b You'd think there'd be a compiler warning for "pointless if", wouldn't you? 2006-04-04 16:56:04 +00:00
Bernhard Reutner-Fischer
a38330c366 - do away with useless fwd-decls, redundant bb_printf calls, silence warning
about comparing signed and unsigned and make stuff static.
   text    data     bss     dec     hex filename
   6944       0       0    6944    1b20 util-linux/ipcs.o.oorig
   6509       0       0    6509    196d util-linux/ipcs.o

TODO: bb_getopt_ulflags, and further simplifications
2006-04-03 11:25:48 +00:00
Rob Landley
20fef96dd8 Bug spotted by Kumar Gala. Hopefully this fixes it... 2006-04-01 17:32:52 +00:00
Bernhard Reutner-Fischer
5cf905a871 - use RESERVE_CONFIG_BUFFER and a bit of whitespace-cleanup. defconfig:
text	   data	    bss	    dec	    hex	filename
   1307	      0	      0	   1307	    51b	util-linux/hwclock.o.oorig
   1255	      0	      0	   1255	    4e7	util-linux/hwclock.o
2006-03-31 22:36:15 +00:00
Bernhard Reutner-Fischer
56dd0bff06 - shrink mkswap and make v0 support optional. Thanks also to Tito for his ideas.
http://busybox.net/lists/busybox/2006-March/019326.html

   2137	      8	     28	   2173	    87d	util-linux/mkswap.o.orig
   1890	      8	     28	   1926	    786	util-linux/mkswap.o.v0+v1
   1560	      4	     28	   1592	    638	util-linux/mkswap.o.v1
2006-03-29 17:32:24 +00:00
Bernhard Reutner-Fischer
b256bd334f - shrink dmesg a bit.
http://busybox.net/lists/busybox/2006-March/019477.html
2006-03-29 17:26:14 +00:00
Rob Landley
fe908fda28 Kumar Gala tracked down a problem with NFS mounting. This is a different fix
from his, but to the same problem.
2006-03-29 14:30:49 +00:00
Rob Landley
92fff34de6 Bernhard Fischer spotted that we shouldn't free fstype if we didn't allocate
it.
2006-03-28 19:19:19 +00:00
Rob Landley
4789694372 Robert P Day removed some commented out code. 2006-03-26 21:42:40 +00:00
Bernhard Reutner-Fischer
2dd13bd25a - make sure that we see freeramdisk only once 2006-03-24 09:48:18 +00:00