puts("No primary connection");
puts("No primary connection.");
proxtrans(cmd, local, remote)	const char *cmd, *local, *remote;{	sig_t oldintr;	int secndflag = 0, prox_type, nfnd;	char *cmd2;	struct fd_set mask;	if (strcmp(cmd, "RETR"))		cmd2 = "RETR";	else		cmd2 = runique ? "STOU" : "STOR";	if ((prox_type = type) == 0) {		if (unix_server && unix_proxy)			prox_type = TYPE_I;		else			prox_type = TYPE_A;	}	if (curtype != prox_type)		changetype(prox_type, 1);	if (command("PASV") != COMPLETE) {		puts("proxy server does not support third party transfers.");		return;	}	pswitch(0);	if (!connected) {		puts("No primary connection");		pswitch(1);		code = -1;		return;	}	if (curtype != prox_type)		changetype(prox_type, 1);	if (command("PORT %s", pasv) != COMPLETE) {		pswitch(1);		return;	}	if (setjmp(ptabort))		goto abort;	oldintr = signal(SIGINT, abortpt);	if (command("%s %s", cmd, remote) != PRELIM) {		(void)signal(SIGINT, oldintr);		pswitch(1);		return;	}	sleep(2);	pswitch(1);	secndflag++;	if (command("%s %s", cmd2, local) != PRELIM)		goto abort;	ptflag++;	(void)getreply(0);	pswitch(0);	(void)getreply(0);	(void)signal(SIGINT, oldintr);	pswitch(1);	ptflag = 0;	printf("local: %s remote: %s\n", local, remote);	return;abort:	(void)signal(SIGINT, SIG_IGN);	ptflag = 0;	if (strcmp(cmd, "RETR") && !proxy)		pswitch(1);	else if (!strcmp(cmd, "RETR") && proxy)		pswitch(0);	if (!cpend && !secndflag) {  /* only here if cmd = "STOR" (proxy=1) */		if (command("%s %s", cmd2, local) != PRELIM) {			pswitch(0);			if (cpend)				abort_remote((FILE *) NULL);		}		pswitch(1);		if (ptabflg)			code = -1;		(void)signal(SIGINT, oldintr);		return;	}	if (cpend)		abort_remote((FILE *) NULL);	pswitch(!proxy);	if (!cpend && !secndflag) {  /* only if cmd = "RETR" (proxy=1) */		if (command("%s %s", cmd2, local) != PRELIM) {			pswitch(0);			if (cpend)				abort_remote((FILE *) NULL);			pswitch(1);			if (ptabflg)				code = -1;			(void)signal(SIGINT, oldintr);			return;		}	}	if (cpend)		abort_remote((FILE *) NULL);	pswitch(!proxy);	if (cpend) {		FD_ZERO(&mask);		FD_SET(fileno(cin), &mask);		if ((nfnd = empty(&mask, 10)) <= 0) {			if (nfnd < 0) {				warn("abort");			}			if (ptabflg)				code = -1;			lostpeer();		}		(void)getreply(0);		(void)getreply(0);	}	if (proxy)		pswitch(0);	pswitch(1);	if (ptabflg)		code = -1;	(void)signal(SIGINT, oldintr);}