1
0
mirror of https://gittea.dev/nova/th.git synced 2025-12-09 09:10:10 -05:00

some fixes to copy pasting

This commit is contained in:
nova
2025-11-04 22:16:21 +01:00
parent 0970c43c37
commit 33d7761329

View File

@@ -773,13 +773,13 @@ void yank_file(unsigned long passes, int index){
yank_files.count = 1;
yank_files.list = (char**)malloc(yank_files.count * sizeof(char*));
*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 {
yank_files.list = malloc(yank_files.count * sizeof(char*));
for (i = 0; i < mid_file_count; i++) {
if (mid_content[i].status & FILE_STATUS_SELECTED) {
*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;
}
}
@@ -800,7 +800,7 @@ void paste(){
/*TODO(2025-08-14T22:10:44) escape path*/
char *cmd;
if (yank_files.status & YANK_COPY) {
cmd = concat("false | cp -riv ", yank_files.path);
cmd = concat("false | cp -ri ", yank_files.path);
} else {
cmd = concat("mv ", yank_files.path);
}
@@ -827,10 +827,13 @@ void paste(){
} else if ((strstr(line, "No such file or directory"))) {
pclose(cmd_open);
break;
} else if (pclose(cmd_open) == 0) {
} else if ((strstr(line, "into itself"))) {
pclose(cmd_open);
break;
}
if (pclose(cmd_open) == 0) {
break;
}
pclose(cmd_open);
}
free(cmd);