summaryrefslogtreecommitdiff
path: root/apps/netutils
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-06-01 19:37:40 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-06-01 19:37:40 +0000
commit17b27f51ace2d8529e6bf5ac5c84d01c08d8dbf5 (patch)
tree37bcf9d31b33094d8a1d52bc59a1abb77b5fc55b /apps/netutils
parentc505c3eb243de07b8a59d71b5dbe5683ee9466f4 (diff)
downloadpx4-nuttx-17b27f51ace2d8529e6bf5ac5c84d01c08d8dbf5.tar.gz
px4-nuttx-17b27f51ace2d8529e6bf5ac5c84d01c08d8dbf5.tar.bz2
px4-nuttx-17b27f51ace2d8529e6bf5ac5c84d01c08d8dbf5.zip
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
Diffstat (limited to 'apps/netutils')
-rw-r--r--apps/netutils/ftpc/ftpc_internal.h2
-rw-r--r--apps/netutils/ftpc/ftpc_listdir.c6
-rw-r--r--apps/netutils/ftpc/ftpc_login.c6
-rw-r--r--apps/netutils/ftpc/ftpc_utils.c36
4 files changed, 27 insertions, 23 deletions
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 <nuttx/config.h>
#include <stdlib.h>
+#include <string.h>
#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.