diff options
author | Eric Andersen <andersen@codepoet.org> | 1999-10-14 22:16:57 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 1999-10-14 22:16:57 +0000 |
commit | 3c163822d88105450806fdb6a29fdfc2511267d1 (patch) | |
tree | 4c67645bbc6677ad2217da3cdf6c0a748e0ca88d /coreutils | |
parent | 2c1030177e0a6f849ba557400e3e4867de455ce9 (diff) | |
download | busybox-3c163822d88105450806fdb6a29fdfc2511267d1.tar.gz |
Fixed cp -[aR] and some other stuf.
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/cp.c | 12 | ||||
-rw-r--r-- | coreutils/ls.c | 4 |
2 files changed, 9 insertions, 7 deletions
diff --git a/coreutils/cp.c b/coreutils/cp.c index 94b4ab024..6ca66e642 100644 --- a/coreutils/cp.c +++ b/coreutils/cp.c @@ -40,13 +40,14 @@ static int followLinks = FALSE; static int preserveFlag = FALSE; static const char *srcName; static const char *destName; +static const char *skipName; static int fileAction(const char *fileName) { char newdestName[NAME_MAX]; strcpy(newdestName, destName); - strcat(newdestName, fileName+(strlen(srcName))); + strcat(newdestName, strstr(fileName, skipName)); return (copyFile(fileName, newdestName, preserveFlag, followLinks)); } @@ -98,10 +99,13 @@ extern int cp_main(int argc, char **argv) exit (FALSE); } - while (argc-- >= 2) { + while (argc-- > 1) { srcName = *(argv++); - exit( recursiveAction(srcName, recursiveFlag, followLinks, - fileAction, fileAction)); + skipName = strrchr(srcName, '/'); + if (skipName) skipName++; + if (recursiveAction(srcName, recursiveFlag, followLinks, + fileAction, fileAction) == FALSE) + exit( FALSE); } exit( TRUE); } diff --git a/coreutils/ls.c b/coreutils/ls.c index 7a1b0f3d0..50b983e24 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c @@ -179,15 +179,13 @@ int ls_main(int argc, char **argv) #define FEATURE_AUTOWIDTH /* calculate terminal & column widths */ #define FEATURE_FILETYPECHAR /* enable -p and -F */ -#undef OP_BUF_SIZE 1024 /* leave undefined for unbuffered output */ - #define TERMINAL_WIDTH 80 /* use 79 if your terminal has linefold bug */ #define COLUMN_WIDTH 14 /* default if AUTOWIDTH not defined */ #define COLUMN_GAP 2 /* includes the file type char, if present */ +#define HAS_REWINDDIR /************************************************************************/ -#define HAS_REWINDDIR #if 1 /* FIXME libc 6 */ # include <linux/types.h> |