Witam.
Mam nietypowe pytanie otoz w C pisze cos pod linuksa.
Mam funkcje ktora potrafi kopiowac z jednego miejsca w drugie , pojedyncze pliki/foldery/lub foldery z zawartoscia
wyglada ona tak:
void cpplus(char* srs, char* dst)
{
int a = fork();
if (a==0)
{
execlp("cp","cp","-rf",srs,dst,NULL);
}
else wait();
}
problemem jest jednak to, ze po powrocie z funkcji do miejsca w ktorym byla ona wywolana wszystko wskazuje na 0x0 (kazda zmienna jaka byla we wczesniejszym miejscu , tak mi sie wydaje przynajmniej).
i dostaje nastepujacy blad:
Program received signal SIGSEGV, Segmentation fault.
jezeli zastapie kopiowanie pusta funkcja - to wszystko dziala.