Ебущий шакал, СУКА!! Попытался случайно скопировать файлы из одной директории в неё же. Сраный vifm не заметил подкола (как и я) и куда-то просрал файлы, которые я готовил несколько часов. СУКА ГОВНО ПИДОРСТВО!!!
@mugiseyebrows Открыл в обоих окна vifm одну и ту же директорию (думал, что они разные, но файлы почти все те же имена имеют, и сами директории одинаковые имена имеют, только одна из них включена в другую директорию, а так всё то же самое). Выделил файлы, подцепил файлы к копированию, перешёл во второе окно, нажал "вставить"; vifm спросил, хочу ли я перезаписать файлы; нажал overwrite all; файлы одни за другим исчезли с какой-то выплывшей ошибкой. Теперь сижу багетствую.
@corpse короч я понял уже (построил гипотезу), псевдокод (не пишите так посоны)
string nin = "foo";
string nout = "foo";
FILE* fin = fopen(nin,"rb"); // не проверяем
FILE* fout = fopen(nout,"wb"); // не проверяем
if (!fread(fin,buf) || !fwrite(fout,buf)) { // проверяем
fclose(fin);
fclose(fout);
remove(nout); // раз файл записать не удалось, чистим за собой
}