Beispiel #1
0
/* 
 * ===  FUNCTION  ======================================================================
 *         Name:  GET
 *  Description:  
 * =====================================================================================
 */
	void
GET (int argc, char *argv[])
{
	if (argc == 2){
		argc++;
		argv[2] = getname(argv[1]);
	}
	if (argc < 2 || argc > 3){
		printf("Usage: %s remote-file [local-file]\n", argv[0]);
		code = -1;
		return;
	}
	recvreq("RETR", argv[2], argv[1], "w");
}		/* -----  end of function GET  ----- */
Beispiel #2
0
static void listenloop(struct muth *muth, va_list args)
{
    vavar(int, lfd);
    int fd;
    struct hthead *req;
    
    while(1) {
	block(0, EV_READ, 0);
	if((fd = recvreq(lfd, &req)) < 0) {
	    if(errno != 0)
		flog(LOG_ERR, "recvreq: %s", strerror(errno));
	    break;
	}
	mustart(serve, req, fd);
    }
}
Beispiel #3
0
/* 
 * ===  FUNCTION  ======================================================================
 *         Name:  LS
 *  Description:  
 * =====================================================================================
 */
	void
LS (int argc, char *argv[])
{
	const char *c;

	if (argc > 3){
		printf("Usage: %s [remote-dir] [local-file]\n", argv[0]);	
		code = -1;
		return;
	}

	if (argc < 2) {
		argc++, argv[1] = ".";
	}
	if (argc < 3) {
		argc++, argv[2] = "-";
	}

	c = (argv[0][0] == 'n' ? "NLST" : "LIST");
	recvreq(c, argv[2], argv[1], "w");
}		/* -----  end of function LS----- */