Exemple #1
0
void main(int argc, char *argv[])
{
    char *host = NULL;
    char *user = NULL;
    char *pass = NULL;
    char *root = NULL;
    char mode = 'I';
    int i;
    for (i=1;i<argc;i++)
    {
	if (*argv[i] == '-')
	{
	    switch (argv[i][1])
	    {
	      case 'l':
		user = argv[++i];
		break;
	      case 'p':
		pass = argv[++i];
		break;
	      case 'd':
		ftplib_debug++;
		break;
	      case 'r':
		root = argv[++i];
		break;
	      case 'a':
		mode = 'A';
		break;
	      case 'i':
		mode = 'I';
		break;
	      default:
		usage(argv[0]);
	    }
	}
	else if (host == NULL)
	    host = argv[i];
	else
	    usage(argv[0]);
    }
    ftpInit();
    if (user == NULL)
    {
	user = "******";
	if (pass == NULL)
	{
	    char *u,h[64];
	    u = getenv("USER");
	    if (gethostname(h,64) < 0)
	    {
		perror("gethostname");
		exit(2);
	    }
	    if ((u != NULL) && (h != NULL))
	    {
		static char xxx[64];
		sprintf(xxx,"%s@%s",u,h);
		pass = xxx;
	    }
	}
    }
    if ((host == NULL) || (user == NULL) || (pass == NULL))
	usage(argv[0]);

    if (!ftpget(host,user,pass,root,mode))
	exit(2);
    exit(0);
}
Exemple #2
0
void main(int argc, char *argv[])
{
    char *host = NULL;
    char *user = NULL;
    char *pass = NULL;
    char *root = NULL;
    char mode;
    char *fspec = NULL;
    int opt;
    int i;

    while ((opt = getopt(argc,argv,"ail:p:r:v:")) != -1)
    {
	if (opt == '?')
	{
	    fprintf(stderr,"Unknown option %s\n",argv[optind]);
	    exit(2);
	}
	switch (optopt)
	{
	  case 'a' : mode = 'A'; break;
	  case 'i' : mode = 'I'; break;
	  case 'l' :
	    if (opt == ':')
	    {
		fprintf(stderr,"Missing value for -l\n");
		exit(2);
	    }
	    user = optarg;
	    break;
	  case 'p' :
	    if (opt == ':')
	    {
		fprintf(stderr,"Missing value for -p\n");
		exit(2);
	    }
	    pass = optarg;
	    break;
	  case 'r' :
	    if (opt == ':')
	    {
		fprintf(stderr,"Missing value for -r\n");
		exit(2);
	    }
	    root = optarg;
	    break;
	  case 'v' :
	    if (opt == ':')
		ftplib_debug++;
	    else
		ftplib_debug = atoi(optarg);
	    break;
	}
    }

    for (i=1;i<argc;i++)
    {
	if (*argv[i] == '-')
	{
	    switch (argv[i][1])
	    {
	      case 'l':
		user = argv[++i];
		break;
	      case 'p':
		pass = argv[++i];
		break;
	      case 'd':
		ftplib_debug++;
		break;
	      case 'r':
		root = argv[++i];
		break;
	      default:
		usage(argv[0]);
	    }
	}
	else if (host == NULL)
	    host = argv[i];
	else if (fspec == NULL)
	    fspec = argv[i];
	else
	    usage(argv[0]);
    }
    ftpInit();
    if (user == NULL)
    {
	user = "******";
	if (pass == NULL)
	{
	    char *u,h[64];
	    u = getenv(ENV_USER);
	    if (gethostname(h,64) < 0)
	    {
		perror("gethostname");
		exit(2);
	    }
	    if ((u != NULL) && (h != NULL))
	    {
		static char xxx[64];
		sprintf(xxx,"%s@%s",u,h);
		pass = xxx;
	    }
	}
    }
    if ((host == NULL) || (user == NULL) || (pass == NULL))
	usage(argv[0]);

    if (!ftpdir(host,user,pass,root,fspec))
	exit(2);
    exit(0);
}