Denys Vlasenko
17f8418ea7
Add conditional support for -v / --verbose
...
With FEATURE_VERBOSE off, practically no size change.
With it on:
function old new delta
remove_file 493 556 +63
install_main 719 765 +46
bb_make_directory 383 419 +36
rmdir_main 162 191 +29
copy_file 1516 1544 +28
mv_main 502 525 +23
cmp_main 677 693 +16
bbconfig_config_bz2 5264 5279 +15
mkdir_main 158 168 +10
install_longopts 66 76 +10
rm_main 167 175 +8
nexpr 840 846 +6
scan_tree 275 280 +5
fsck_main 1807 1811 +4
ed_main 2541 2545 +4
expand_one_var 1574 1575 +1
swap_on_off_main 420 418 -2
parse_command 1443 1440 -3
redirect 1279 1274 -5
do_load 946 918 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 16/4 up/down: 304/-38) Total: 266 bytes
Based on the patch by Igor Živković.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-05-19 16:23:50 +02:00
Denys Vlasenko
aa4f9a2fd8
libbb/copy_file.c: use smallints instead of signed chars
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-28 19:14:17 +01:00
Denys Vlasenko
0ef64bdb40
*: make GNU licensing statement forms more regular
...
This change retains "or later" state! No licensing _changes_ here,
only form is adjusted (article, space between "GPL" and "v2" and so on).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 20:14:46 +02:00
Denys Vlasenko
0cd445f4d1
cosmetic fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-06 21:11:49 +01:00
Denys Vlasenko
a40f0624db
cp: fix -H handling
...
function old new delta
copy_file 1495 1518 +23
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-15 22:05:07 +01:00
Denys Vlasenko
dcbfaba264
fix improper utimes usage
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 19:40:36 +01:00
Denys Vlasenko
389cca4b9e
some non-gnu compilers can't have non-const struct initializers
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15 02:28:56 +01:00
Bernhard Reutner-Fischer
a307af1af6
use utimes() rather than obsolescent utime()
...
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-15 00:12:53 +01:00
Denys Vlasenko
6331cf059c
*: use "can't" instead of "cannot"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-13 09:08:27 +01:00
Denys Vlasenko
6f58be0748
cp: make "non-POSIX" cp a bit more consistent
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-05 13:24:17 +02:00
Denys Vlasenko
2d7b5bfa9b
cp: by popular demand, make it POSIX compliant (but less safe)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-05 12:49:29 +02:00
Denis Vlasenko
defc1ea340
*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on
...
text data bss dec hex filename
808035 611 6868 815514 c719a busybox_old
804472 611 6868 811951 c63af busybox_unstripped
2008-06-27 02:52:20 +00:00
Denis Vlasenko
b9ad75fa60
copy_file: handle "cp /dev/foo file" (almost) compatibly to coreutils.
...
(almost because we do not copy mode, which is probably wasn't intended).
+61 bytes.
2008-03-28 17:49:31 +00:00
Denis Vlasenko
d5fe880a57
cp: add ENABLE_FEATURE_VERBOSE_CP_MESSAGE. Closes bug 1470
2008-02-13 16:52:00 +00:00
Denis Vlasenko
a9335eafcf
cp: make it a bit closer to POSIX, but still refuse to open and
...
write to dest which is a symlink.
2007-09-11 16:28:14 +00:00
Denis Vlasenko
fa05074eee
cp: make "cp file /dev/node" special case; explained in comments
...
function old new delta
copy_file 1487 1538 +51
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 51/0) Total: 51 bytes
text data bss dec hex filename
772502 1051 10724 784277 bf795 busybox_old
772554 1051 10724 784329 bf7c9 busybox_unstripped
2007-09-11 10:39:13 +00:00
Denis Vlasenko
0f214ecef0
cp: fix recursion check to not waste bytes remembering names of dirs
2007-08-27 17:02:19 +00:00
Denis Vlasenko
8a5fab6333
cp: detect and prevent infinite recursion
2007-08-27 16:51:30 +00:00
Denis Vlasenko
30bab71f7b
make copy_file() a bit easier to understand, and smaller
...
function old new delta
copy_file 1565 1447 -118
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-118) Total: -118 bytes
text data bss dec hex filename
770938 1063 10788 782789 bf1c5 busybox_old
770814 1063 10788 782665 bf149 busybox_unstripped
2007-08-25 21:14:55 +00:00
Denis Vlasenko
3d829627fb
cp: make POSIX-me-harder mode complain with a bit less insane message
2007-08-24 14:23:57 +00:00
Denis Vlasenko
7510384107
do not do utime() on links, it acts on link targets, and we don't want that.
...
rename link_name to link_target, less confusing this way.
2007-06-20 14:49:47 +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
c86e052b81
fix accumulated whitespace and indentation damage
2007-03-20 11:30:28 +00:00
Denis Vlasenko
54d14ca1a2
copy_file: comment out one condition which is always false.
...
Add comment explaining POSIX rules for cp - and why
these rules are dangerous. Provide conditionally compiled code
for both POSIX and safe behaviors, select safe for now.
Code shrunk by ~80 bytes.
2007-03-15 13:33:37 +00:00
Denis Vlasenko
6ef06eeed4
stop using big static buffer for inode hash
2007-03-14 22:06:01 +00:00
Denis Vlasenko
39c651e909
introduce and use setfscreatecon_or_die
...
(patch by Yuichi Nakamura <ynakam@hitachisoft.jp>)
runcon: *yet another* fix for vda's brainfart :(
2007-03-12 18:22:55 +00:00
Denis Vlasenko
49622d7846
selinux support by Yuichi Nakamura <ynakam@hitachisoft.jp> (HitachiSoft)
2007-03-10 16:58:49 +00:00
Denis Vlasenko
6ca0444420
syslogd: fix "readpath bug" by using readlink instead
...
libbb: rename xgetcwd and xreadlink
2007-02-11 16:19:28 +00:00
Denis Vlasenko
f7996f3b70
Trailing whitespace removal over entire tree
2007-01-11 17:20:00 +00:00
Denis Vlasenko
f24e1f40e0
cp: add support for -s, -l. Fix free(nonmalloc) bug.
...
Add doc on POSIX's rules on -i and -f (insane!).
ln: make "ln dangling_symlink new_link" work.
2006-10-21 23:40:20 +00:00
Denis Vlasenko
8f8f268cfd
bb_applet_name -> applet_name
2006-10-03 21:00:43 +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
c983274565
The logic to make cp -d or -P treat things like regular files should only
...
trigger for symlinks, not for device nodes. This should fix "cp -a /dev ."
to work as expected (when run by root, anyway).
While I was there, cleanup headers and make an #ifdef go away...
2006-06-24 21:27:36 +00:00
Rob Landley
18958e9309
Random cleanup of platform.h.
2006-06-13 18:28:33 +00:00
Bernhard Reutner-Fischer
cb44816ba3
- add and use bb_opendir(), bb_xopendir().
...
text data bss dec hex filename
889445 9392 1035784 1934621 1d851d busybox.gcc-4.2.orig
889297 9392 1035784 1934473 1d8489 busybox.gcc-4.2
889009 9820 1037860 1936689 1d8d31 busybox.gcc-4.1.orig
888817 9820 1037860 1936497 1d8c71 busybox.gcc-4.1
2006-04-12 07:35:12 +00:00
Bernhard Reutner-Fischer
421d9e5941
- move buffer allocation schemes to libbb.h
...
- include the correct headers: applets need busybox.h while lib* need libbb.h
2006-04-03 16:39:31 +00:00
Rob Landley
386f85eadf
Attempt to make a warning go away without increasing size.
2006-03-14 21:13:48 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Rob Landley
2f30932eca
Fix cp /dev/null filename, and a few in-passing cleanups.
2005-11-01 21:55:14 +00:00
Paul Fox
c337d29550
applying fix for:
...
0000117: Remove linefeed after overwrite prompt using cp -i
User input not on the same line as the prompt when about to
overwrite a file.
2005-07-19 21:31:05 +00:00
Paul Fox
0a92bbf349
applying fix from:
...
0000067: cp -p produces misleading error message
2005-07-19 20:47:33 +00:00
Mike Frysinger
2ed05ab146
fake out support for POSIX -H and -L options since busybox cp dereferences everything by default
2005-04-14 02:52:50 +00:00
Glenn L McGrath
1219879422
Dont try and preserve hard links to directories.
...
The linux kernel doesnt allow hard links to directories, SUS says its
implementation specific.
cramfs gives empty directories and 0 length files the same node it
makies it difficult to distinguish from hard links.
2004-04-19 12:28:02 +00:00
Eric Andersen
817565a0ff
For the time being, revert the changes for detecting copying
...
a directory into itself. It is harder to do this correctly
than it appears. Not trying at all seems a better compromise
for the time being, untill we can implement this correctly.
2004-02-22 11:46:49 +00:00
Eric Andersen
e7d244cc96
Chris Larson (kergoth) writes:
...
As Manuel points out, this is a flawed fix, and doesnt fix the
following:
mkdir -p cpa cpb cpc
cp -a cpa cpa/cpb/cpc
Attached what appears to be a more sane fix. Apply on top of previous.
Please confirm sanity.
2004-02-19 01:52:29 +00:00
Eric Andersen
e0cbe48637
Chris Larson (kergoth) writes:
...
I was adding -s/--symbolic-link support to busybox cp when I noticed a
bug with -r/-a. Test case:
mkdir -p test/out
cd test
busybox cp -a * out/
Will never return until we run out of open files or similar.
Coreutils cp on the other hand will error with "cannot copy a directory,
`out', into itself, `out'". Patch attached.
2004-02-19 00:44:08 +00:00
Glenn L McGrath
447bc2d17f
Patch from Matt Kraai to fix debian bug #227081
...
cp does not truncate existing destinations. That is, after
running
echo foo > foo
echo fubar > fubar
cp foo fubar
the contents of fubar are
foo
r
instead of
foo
2004-01-11 05:20:59 +00:00
Glenn L McGrath
f62ea20aff
Use low level file descriptors to match bb_copyfd_eof
2003-12-20 04:38:01 +00:00
Glenn L McGrath
7ffe133864
As we no longer use function pointers for read in common archiving code
...
archive_xread can be replaced with bb_full_read, and archive_copy_file
with bb_copyfd*
bb_copyfd is split into two functions bb_copyfd_size and bb_copyfd_eof,
they share a common backend.
2003-11-21 22:24:57 +00:00