diff options
author | Pavel Roskin <proski@gnu.org> | 2000-06-08 18:06:37 +0000 |
---|---|---|
committer | Pavel Roskin <proski@gnu.org> | 2000-06-08 18:06:37 +0000 |
commit | b3d235f63b11effbc88d07ec812f90dbb3f4b798 (patch) | |
tree | b9f22f4d1d03ec118eacc818437a07c8b396f528 | |
parent | b3cf9baeb9c38f4fa9270bc1d851fb457dfd610d (diff) | |
download | busybox-w32-b3d235f63b11effbc88d07ec812f90dbb3f4b798.tar.gz busybox-w32-b3d235f63b11effbc88d07ec812f90dbb3f4b798.tar.bz2 busybox-w32-b3d235f63b11effbc88d07ec812f90dbb3f4b798.zip |
Fixed parsing of arguments for cp
-rw-r--r-- | cp_mv.c | 51 |
1 files changed, 25 insertions, 26 deletions
@@ -203,36 +203,35 @@ extern int cp_mv_main(int argc, char **argv) | |||
203 | if (dz_i == is_cp) { | 203 | if (dz_i == is_cp) { |
204 | recursiveFlag = preserveFlag = forceFlag = FALSE; | 204 | recursiveFlag = preserveFlag = forceFlag = FALSE; |
205 | followLinks = TRUE; | 205 | followLinks = TRUE; |
206 | while (--argc >= 0 && *argv && **argv) { | 206 | while (*argv && **argv == '-') { |
207 | while (**argv == '-') { | 207 | while (*++(*argv)) { |
208 | while (*++(*argv)) { | 208 | switch (**argv) { |
209 | switch (**argv) { | 209 | case 'a': |
210 | case 'a': | 210 | followLinks = FALSE; |
211 | followLinks = FALSE; | 211 | preserveFlag = TRUE; |
212 | preserveFlag = TRUE; | 212 | recursiveFlag = TRUE; |
213 | recursiveFlag = TRUE; | 213 | break; |
214 | break; | 214 | case 'd': |
215 | case 'd': | 215 | followLinks = FALSE; |
216 | followLinks = FALSE; | 216 | break; |
217 | break; | 217 | case 'p': |
218 | case 'p': | 218 | preserveFlag = TRUE; |
219 | preserveFlag = TRUE; | 219 | break; |
220 | break; | 220 | case 'R': |
221 | case 'R': | 221 | recursiveFlag = TRUE; |
222 | recursiveFlag = TRUE; | 222 | break; |
223 | break; | 223 | case 'f': |
224 | case 'f': | 224 | forceFlag = TRUE; |
225 | forceFlag = TRUE; | 225 | break; |
226 | break; | 226 | default: |
227 | default: | 227 | usage(cp_mv_usage[is_cp]); |
228 | usage(cp_mv_usage[is_cp]); | ||
229 | } | ||
230 | } | 228 | } |
231 | } | 229 | } |
230 | argc--; | ||
232 | argv++; | 231 | argv++; |
233 | } | 232 | } |
234 | if (argc < 1) { | 233 | if (argc < 2) { |
235 | fatalError("cp: missing file argument\n"); | 234 | usage(cp_mv_usage[dz_i]); |
236 | } | 235 | } |
237 | } else { /* (dz_i == is_mv) */ | 236 | } else { /* (dz_i == is_mv) */ |
238 | recursiveFlag = preserveFlag = TRUE; | 237 | recursiveFlag = preserveFlag = TRUE; |