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
Glenn L McGrath
393183dccc
Vodz, last_patch_86
2003-05-26 14:07:50 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
25fe94fd32
Merge copyfd and copy_file_chunk
2002-12-13 08:20:44 +00:00
Eric Andersen
a9a220b92a
last_patch56 from vodz to simplify copy_file logic
2002-09-17 08:42:21 +00:00
Eric Andersen
02b8dfc524
Let people force overwrite links
...
-Erik
2002-09-16 10:23:38 +00:00
Eric Andersen
403a73a351
Properly honor FILEUTILS_INTERACTIVE and FILEUTILS_FORCE for
...
file all file types (not just regular files and dirs). Unlink
destination files when needed.
-Erik
2002-09-16 09:23:22 +00:00
Matt Kraai
9ef2ea27d4
* libbb/copy_file.c (copy_file): Check st_dev instead of st_rdev.
2002-06-11 13:25:26 +00:00
Matt Kraai
ace02dc9cd
Make cp and mv optionally preserve hard links.
2001-12-17 15:26:36 +00:00
Matt Kraai
14b7c5d12b
Open the source before creating the destination.
2001-12-11 16:43:48 +00:00
Eric Andersen
bdfd0d78bc
Major rework of the directory structure and the entire build system.
...
-Erik
2001-10-24 05:00:29 +00:00
Matt Kraai
4c557bf576
Invert FILEUTILS_PRESERVE_SYMLINKS into FILEUTILS_DEREFERENCE.
2001-10-05 01:35:10 +00:00
Eric Andersen
75220b55ff
dfp might be used uninitialized. NULL it.
2001-08-21 23:36:32 +00:00