#include <stdio.h>

FILE *ftar;

extern int create_tar();
extern int tfile;
extern char tarfile[32];
extern char *wildcard();
extern char *index();

ctar(ac,av)
int ac;
char *av[];
{
    char fname[16];

    if(ac)
    {
        if(tfile)
        {
            ftar=fopen(tarfile,"wb");
            if(!ftar)
            {
                printf("Error opening '%s'\n", tarfile);
                Exit(1);
            }
        }
        else
        {
            if(topen(1))
            {
                printf("Tar aborted\n");
                Exit(1);
            }
        }
        while(ac--)
        {
	    if(index(*av, '*'))
	    {
	    	strcpy(fname, wildcard(*av++));
	    	while(fname[0] != '{')
	    	{
                    if(ftw(fname,create_tar,10))break;
	            sprintf(fname, "%s", wildcard(0L));
            	}
	    }
            else if(ftw(*av++,create_tar,10))break;
	}
        if(tfile) fclose(ftar);
        else
        {
            tfmark();
            tclose();
        }
    }
}
