fixed rm, cp
This commit is contained in:
parent
500bbb02ea
commit
2a90ce246c
2
src/cp.c
2
src/cp.c
@ -144,8 +144,6 @@ static int cptree(const char *src, const char *dst) {
|
|||||||
|
|
||||||
free(src_path);
|
free(src_path);
|
||||||
free(dst_path);
|
free(dst_path);
|
||||||
if (ret)
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
14
src/rm.c
14
src/rm.c
@ -12,10 +12,11 @@
|
|||||||
|
|
||||||
static char *f_flag = "rm";
|
static char *f_flag = "rm";
|
||||||
static char r_flag;
|
static char r_flag;
|
||||||
|
static char i_flag;
|
||||||
static char v_flag;
|
static char v_flag;
|
||||||
|
|
||||||
static int verbose(const char *path) {
|
static int verbose(const char *path) {
|
||||||
if (v_flag) {
|
if (i_flag) {
|
||||||
fprintf(stderr, "rm: remove %s? [y/n] ", path);
|
fprintf(stderr, "rm: remove %s? [y/n] ", path);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
|
|
||||||
@ -30,6 +31,9 @@ static int verbose(const char *path) {
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (v_flag && f_flag)
|
||||||
|
fprintf(stderr, "rm: removing %s\n", path);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,7 +66,7 @@ static int rmd(const char *path, void *p) {
|
|||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
int opt;
|
int opt;
|
||||||
while ((opt = getopt(argc, argv, "frRi")) != -1) {
|
while ((opt = getopt(argc, argv, "friv")) != -1) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'f':
|
case 'f':
|
||||||
f_flag = NULL;
|
f_flag = NULL;
|
||||||
@ -73,11 +77,15 @@ int main(int argc, char **argv) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'i':
|
case 'i':
|
||||||
|
i_flag = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'v':
|
||||||
v_flag = 1;
|
v_flag = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
puts("rm [rif] [file1 file2...]\n\t-f Never prompt\n\t-r Recursive\n\t-i Print prompt before remove");
|
puts("rm [friv] [file1 file2/dir...]\n\t-f Never prompt\n\t-r Recursive\n\t-i Print prompt before remove\n\t-v Verbose");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user