mirror of
https://gittea.dev/nova/th.git
synced 2026-01-30 08:40:10 -05:00
some fixes to copy pasting
This commit is contained in:
@@ -773,13 +773,13 @@ void yank_file(unsigned long passes, int index){
|
|||||||
yank_files.count = 1;
|
yank_files.count = 1;
|
||||||
yank_files.list = (char**)malloc(yank_files.count * sizeof(char*));
|
yank_files.list = (char**)malloc(yank_files.count * sizeof(char*));
|
||||||
*yank_files.list = malloc(strlen(mid_content[selected_file_current].file_name)+1);
|
*yank_files.list = malloc(strlen(mid_content[selected_file_current].file_name)+1);
|
||||||
memcpy(*yank_files.list, mid_content[selected_file_current].file_name, strlen(mid_content[selected_file_current].file_name));
|
memcpy(*yank_files.list, mid_content[selected_file_current].file_name, strlen(mid_content[selected_file_current].file_name)+1);
|
||||||
} else {
|
} else {
|
||||||
yank_files.list = malloc(yank_files.count * sizeof(char*));
|
yank_files.list = malloc(yank_files.count * sizeof(char*));
|
||||||
for (i = 0; i < mid_file_count; i++) {
|
for (i = 0; i < mid_file_count; i++) {
|
||||||
if (mid_content[i].status & FILE_STATUS_SELECTED) {
|
if (mid_content[i].status & FILE_STATUS_SELECTED) {
|
||||||
*yank_files.list = malloc(strlen(mid_content[i].file_name)+1);
|
*yank_files.list = malloc(strlen(mid_content[i].file_name)+1);
|
||||||
memcpy(*yank_files.list, mid_content[i].file_name, strlen(mid_content[i].file_name));
|
memcpy(*yank_files.list, mid_content[i].file_name, strlen(mid_content[i].file_name)+1);
|
||||||
yank_files.list += 1;
|
yank_files.list += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -800,7 +800,7 @@ void paste(){
|
|||||||
/*TODO(2025-08-14T22:10:44) escape path*/
|
/*TODO(2025-08-14T22:10:44) escape path*/
|
||||||
char *cmd;
|
char *cmd;
|
||||||
if (yank_files.status & YANK_COPY) {
|
if (yank_files.status & YANK_COPY) {
|
||||||
cmd = concat("false | cp -riv ", yank_files.path);
|
cmd = concat("false | cp -ri ", yank_files.path);
|
||||||
} else {
|
} else {
|
||||||
cmd = concat("mv ", yank_files.path);
|
cmd = concat("mv ", yank_files.path);
|
||||||
}
|
}
|
||||||
@@ -827,10 +827,13 @@ void paste(){
|
|||||||
} else if ((strstr(line, "No such file or directory"))) {
|
} else if ((strstr(line, "No such file or directory"))) {
|
||||||
pclose(cmd_open);
|
pclose(cmd_open);
|
||||||
break;
|
break;
|
||||||
} else if (pclose(cmd_open) == 0) {
|
} else if ((strstr(line, "into itself"))) {
|
||||||
|
pclose(cmd_open);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (pclose(cmd_open) == 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pclose(cmd_open);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(cmd);
|
free(cmd);
|
||||||
|
|||||||
Reference in New Issue
Block a user