diff options
author | jkh <jkh@FreeBSD.org> | 1995-04-25 15:05:11 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1995-04-25 15:05:11 +0000 |
commit | 02ace706173509b7d8549494277ff682b7cefb8a (patch) | |
tree | 437a6d909f192743fe7d26def0fdfae947754209 /lib/libftp/FtpCommand.c | |
download | FreeBSD-src-02ace706173509b7d8549494277ff682b7cefb8a.zip FreeBSD-src-02ace706173509b7d8549494277ff682b7cefb8a.tar.gz |
A programmatic interface to ftp. I need this for several other
components of the system.
The license is poorly worded, though I have an (email only) release
from the author for unlimited FreeBSD use. I will try to get something
more concrete, though the author's remote location makes this difficult.
Submitted by: Oleg Orel <orel@oea.ihep.su>
Diffstat (limited to 'lib/libftp/FtpCommand.c')
-rw-r--r-- | lib/libftp/FtpCommand.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/libftp/FtpCommand.c b/lib/libftp/FtpCommand.c new file mode 100644 index 0000000..06421ba --- /dev/null +++ b/lib/libftp/FtpCommand.c @@ -0,0 +1,60 @@ +/* + Library for ftpd clients.(libftp) + Copyright by Oleg Orel + All rights reserved. + +This library is desined for free, non-commercial software creation. +It is changeable and can be improved. The author would greatly appreciate +any advises, new components and patches of the existing programs. +Commercial usage is also possible with participation of it's author. + + + +*/ + +#include "FtpLibrary.h" + +STATUS FtpCommand(va_alist) + va_dcl +{ + FTP *con; + char *command, *param; + int Answer[MAX_ANSWERS]; + va_list args; + String S1; + int i,counter=0; + + va_start(args); + + con = va_arg(args,FTP *); + command = va_arg(args,char *); + param = va_arg(args, char *); + + while ( 1 ) + { + if (counter == MAX_ANSWERS) + return EXIT(con,QUIT); + Answer[counter] = va_arg(args,int); + if (Answer[counter] == EOF ) break; + counter++; + } + + va_end(args); + + + sprintf(S1,command,param); + + if ( FtpSendMessage(con,S1) == QUIT ) + return EXIT(con,QUIT); + + if ( (i=FtpGetMessage(con,S1)) == QUIT ) + return EXIT(con,QUIT); + + if ( ! FtpGood1 ( i , Answer )) + return EXIT(con,-i); + + return EXIT(con,i); +} + + + |