хочу запихнуть вывод в пайп для лесс...
void print_list(list lst)
{
int p[2], status, options;
pid_t pid;
pipe(p);
close(p[1]);
if (!(pid=fork())) {
close(0);
dup2(p[0],0);
execl("less","less");
}
else {
Xprint_list(lst, p[0]);
waitpid(pid, &status, options);
}
}
void Xprint_list(list lst, int descr)
{
list_el *p=*lst;
FILE * fp;
fp=fdopen(descr,"w");
while (p){
fprintf(fp,"\tRecord:\n");
fprintelem(fp, p->data);
p=p->next;
}
fclose(fp);
}
/*....*/
print_list(dblistname);
/*....*/
где-то тут я видимо ошибся, но никак не могу понять где:(...