From 17b27f51ace2d8529e6bf5ac5c84d01c08d8dbf5 Mon Sep 17 00:00:00 2001 From: patacongo Date: Wed, 1 Jun 2011 19:37:40 +0000 Subject: Fix some basic FTP client compilation errors git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3655 42af7a65-404d-4744-a932-0658087f49c3 --- apps/netutils/ftpc/ftpc_internal.h | 2 +- apps/netutils/ftpc/ftpc_listdir.c | 6 +++--- apps/netutils/ftpc/ftpc_login.c | 6 +++--- apps/netutils/ftpc/ftpc_utils.c | 36 ++++++++++++++++++++---------------- 4 files changed, 27 insertions(+), 23 deletions(-) (limited to 'apps/netutils') diff --git a/apps/netutils/ftpc/ftpc_internal.h b/apps/netutils/ftpc/ftpc_internal.h index 4982e1f20..244a7cfcc 100644 --- a/apps/netutils/ftpc/ftpc_internal.h +++ b/apps/netutils/ftpc/ftpc_internal.h @@ -207,7 +207,7 @@ extern "C" { /* Low-level string management */ EXTERN void ftpc_stripcrlf(FAR char *str); -EXTERN void ftpc_stripslash(FAR const char *str); +EXTERN void ftpc_stripslash(FAR char *str); EXTERN FAR char *ftpc_dequote(FAR const char *hostname); /* FTP helpers */ diff --git a/apps/netutils/ftpc/ftpc_listdir.c b/apps/netutils/ftpc/ftpc_listdir.c index 2b7706fc1..6ec70a0d9 100644 --- a/apps/netutils/ftpc/ftpc_listdir.c +++ b/apps/netutils/ftpc/ftpc_listdir.c @@ -81,7 +81,7 @@ typedef void (*callback_t)(FAR const char *name, FAR void *arg); ****************************************************************************/ static FAR char *ftpc_abspath(FAR struct ftpc_session_s *session, - FAR const char *relpath); + FAR const char *relpath) { FAR char *ptr = NULL; int ret = OK; @@ -101,7 +101,7 @@ static FAR char *ftpc_abspath(FAR struct ftpc_session_s *session, if (relpath[1] == '\0') { - return strdup(session->home); + return strdup(session->homedir); } /* No... then a '/' better follow the tilde */ @@ -155,7 +155,7 @@ static FAR char *ftpc_abspath(FAR struct ftpc_session_s *session, static void ftpc_dircount(FAR const char *name, FAR void *arg) { - unsigned int *dircount = (unsigned int *)arg; + FAR unsigned int *dircount = (FAR unsigned int *)arg; (*dircount)++; } diff --git a/apps/netutils/ftpc/ftpc_login.c b/apps/netutils/ftpc/ftpc_login.c index f2697dde1..df12c0543 100644 --- a/apps/netutils/ftpc/ftpc_login.c +++ b/apps/netutils/ftpc/ftpc_login.c @@ -105,9 +105,9 @@ int ftpc_login(SESSION handle, FAR struct ftpc_login_s *login) /* Save the login parameter */ - session->uname = decode_rfc1738(login->uname); - session->pwd = decode_rfc1738(login->pwd); - session->initdir = decode_rfc1738(login->rdir); + session->uname = ftpc_dequote(login->uname); + session->pwd = ftpc_dequote(login->pwd); + session->initdir = ftpc_dequote(login->rdir); /* Is passive mode requested? */ diff --git a/apps/netutils/ftpc/ftpc_utils.c b/apps/netutils/ftpc/ftpc_utils.c index 46944e4b2..0b5251fe1 100644 --- a/apps/netutils/ftpc/ftpc_utils.c +++ b/apps/netutils/ftpc/ftpc_utils.c @@ -40,6 +40,7 @@ #include #include +#include #include "ftpc_internal.h" @@ -136,7 +137,8 @@ void ftpc_curdir(struct ftpc_session_s *session) * Name: ftpc_stripcrlf * * Description: - * Strip any trailing carriage returns or line feeds from a string. + * Strip any trailing carriage returns or line feeds from a string (by + * overwriting them with NUL characters). * ****************************************************************************/ @@ -164,30 +166,32 @@ void ftpc_stripcrlf(FAR char *str) * Name: ftpc_stripslash * * Description: - * Strip any trailing slashes from a string. + * Strip any trailing slashes from a string (by overwriting them with NUL + * characters. * ****************************************************************************/ -FAR char *ftpc_stripslash(FAR char *str) +void ftpc_stripslash(FAR char *str) { FAR char *ptr; + int len; - if (!str || !*str) - return str; - - ptr = strchr(str, 0); - if(!ptr) - return str; - ptr--; - if(*ptr == '/') { - if(ptr != str) /* root directory */ - *ptr = 0; - } - return str; + if (str) + { + len = strlen(str); + if (len > 1) + { + ptr = str + len - 1; + if (*ptr == '/'); + { + *ptr = '\0'; + } + } + } } /**************************************************************************** - * Name: ftpc_stripslash + * Name: ftpc_dequote * * Description: * Convert quoted hexadecimal constants to binary values. -- cgit v1.2.3