#include #include "detar.h" char **extract; int extsize; FILE *ftar; extern int all(),some(),strcmp(); extern int tfile; extern char tarfile[32]; xtar(ac,av) int ac; char *av[]; { if(tfile) { if((ftar=fopen(tarfile,"rb"))==NULL) { fprintf(stderr,"detar:Can't open tarfile %s\n",tarfile); Exit(1); } } else { if(topen(0)) /* Load tape */ { printf("Tar Aborted\n"); Exit(1); } } if(ac==0) { do_detar(all); } else { extsize=ac; extract=av; qsort(extract,ac,sizeof(char *),strcmp); do_detar(some); } if(tfile) fclose(ftar); else tclose(); } int all(what) char *what; { return 1; } int some(what) char *what; { int i; for(i=0;i