From 6918cf9e9e67e5b0fb79cae2f9da921b81cac399 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 11 Jan 2007 04:51:20 +0000 Subject: Change FTP to use a data buffer rather than a callback function. --- src/tests/ftptest.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/tests') diff --git a/src/tests/ftptest.c b/src/tests/ftptest.c index c4795c04c..d7208f94f 100644 --- a/src/tests/ftptest.c +++ b/src/tests/ftptest.c @@ -4,9 +4,10 @@ #include #include #include +#include #include -static void test_ftp_callback ( char *data, size_t len ) { +static void print_ftp_response ( char *data, size_t len ) { unsigned int i; char c; @@ -23,18 +24,29 @@ static void test_ftp_callback ( char *data, size_t len ) { } void test_ftp ( struct sockaddr_tcpip *server, const char *filename ) { + char data[256]; + struct buffer buffer; struct ftp_request ftp; int rc; printf ( "FTP fetching %s\n", filename ); + memset ( &buffer, 0, sizeof ( buffer ) ); + buffer.addr = virt_to_phys ( data ); + buffer.len = sizeof ( data ); + memset ( &ftp, 0, sizeof ( ftp ) ); memcpy ( &ftp.server, server, sizeof ( ftp.server ) ); ftp.filename = filename; - ftp.callback = test_ftp_callback; + ftp.buffer = &buffer; rc = async_wait ( ftp_get ( &ftp ) ); if ( rc ) { printf ( "FTP fetch failed\n" ); + return; } + + printf ( "FTP received %d bytes\n", buffer.fill ); + + print_ftp_response ( data, buffer.fill ); } -- cgit v1.2.3-55-g7522