diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-06-03 20:27:30 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-06-03 20:27:30 +0000 |
commit | 92fd8f5221ca528c2def13897c712d558adf1675 (patch) | |
tree | 0c9d63fe3408864b46597a4eb1c20eace2ffc783 /apps/netutils/ftpc/ftpc_utils.c | |
parent | 90e92459a9c7a33fb8a005f87ec3f512b760c487 (diff) | |
download | nuttx-92fd8f5221ca528c2def13897c712d558adf1675.tar.gz nuttx-92fd8f5221ca528c2def13897c712d558adf1675.tar.bz2 nuttx-92fd8f5221ca528c2def13897c712d558adf1675.zip |
More FTP bugfixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3665 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/netutils/ftpc/ftpc_utils.c')
-rw-r--r-- | apps/netutils/ftpc/ftpc_utils.c | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/apps/netutils/ftpc/ftpc_utils.c b/apps/netutils/ftpc/ftpc_utils.c index 9692cae4f..eec52ec8f 100644 --- a/apps/netutils/ftpc/ftpc_utils.c +++ b/apps/netutils/ftpc/ftpc_utils.c @@ -109,8 +109,8 @@ void ftpc_reset(struct ftpc_session_s *session) session->uname = NULL; free(session->pwd); session->pwd = NULL; - free(session->initdir); - session->initdir = NULL; + free(session->initrdir); + session->initrdir = NULL; session->flags = FTPC_FLAGS_INIT; session->xfrmode = FTPC_XFRMODE_UNKNOWN; session->code = 0; @@ -119,18 +119,43 @@ void ftpc_reset(struct ftpc_session_s *session) } /**************************************************************************** - * Name: ftpc_curdir + * Name: ftpc_currdir * * Description: - * Update the current working directory + * Update the remote current working directory * ****************************************************************************/ -void ftpc_curdir(struct ftpc_session_s *session) +void ftpc_currdir(struct ftpc_session_s *session) { - free(session->prevdir); - session->prevdir = session->curdir; - session->curdir = ftpc_pwd((SESSION)session); + free(session->prevrdir); + session->prevrdir = session->currdir; + session->currdir = ftpc_rpwd((SESSION)session); +} + +/**************************************************************************** + * Name: ftpc_lpwd + * + * Description: + * Return the local current working directory. NOTE: This is a peek at + * a global copy. The caller should call strdup if it wants to keep it. + * + ****************************************************************************/ + +FAR const char *ftpc_lpwd(void) +{ +#ifndef CONFIG_DISABLE_ENVIRON + FAR const char *val; + + val = getenv("PWD"); + if (!val) + { + val = CONFIG_FTP_TMPDIR; + } + return val; +#else + return CONFIG_FTP_TMPDIR; +#endif } /**************************************************************************** |