From 4784ec3f641503f31c3205c95eee8c708f059366 Mon Sep 17 00:00:00 2001 From: nova Date: Mon, 29 Sep 2025 19:13:37 +0200 Subject: [PATCH] fixed infinite loop on copy/paste --- interactions.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/interactions.c b/interactions.c index efb5d34..ba8b5c8 100644 --- a/interactions.c +++ b/interactions.c @@ -747,11 +747,19 @@ void paste(){ mvprintw(i, 0, cmd); if (system(cmd) != 0) { cmd = concat(cmd, *yank_files.list); + char *line = NULL; + size_t size = 0; + FILE *cmd_open; while (1) { - cmd = concat(cmd, "_"); - if (system(cmd) == 0) { + cmd_open = popen(cmd, "r"); + getline(&line, &size, cmd_open); + + if (pclose(cmd_open) == 0) { break; - } } + } + cmd = concat(cmd, "_"); + } + } yank_files.list++; }