summaryrefslogtreecommitdiff
path: root/apps/netutils
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-06-03 15:38:26 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-06-03 15:38:26 +0000
commit01429708989552ee1ce78a662e4bdc9145b49c72 (patch)
tree143330a4fc2da15fc71810551fa4733abd9b04bc /apps/netutils
parent80d5b281209708972a1e484f10f9b1cf74868ea4 (diff)
downloadnuttx-01429708989552ee1ce78a662e4bdc9145b49c72.tar.gz
nuttx-01429708989552ee1ce78a662e4bdc9145b49c72.tar.bz2
nuttx-01429708989552ee1ce78a662e4bdc9145b49c72.zip
Fix a nasty bug that was closing stdin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3663 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/netutils')
-rw-r--r--apps/netutils/ftpc/ftpc_connect.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/apps/netutils/ftpc/ftpc_connect.c b/apps/netutils/ftpc/ftpc_connect.c
index 3c9c460aa..3af6ef65f 100644
--- a/apps/netutils/ftpc/ftpc_connect.c
+++ b/apps/netutils/ftpc/ftpc_connect.c
@@ -95,21 +95,23 @@ SESSION ftpc_connect(FAR struct ftpc_connect_s *server)
goto errout;
}
- /* Initialize the session structure */
+ /* Initialize the session structure with all non-zero and variable values */
- ftpc_reset(session);
- session->addr.s_addr = server->addr.s_addr;
- session->pid = getpid();
+ session->addr.s_addr = server->addr.s_addr;
+ session->flags = FTPC_FLAGS_INIT;
+ session->replytimeo = CONFIG_FTP_DEFTIMEO * CLOCKS_PER_SEC;
+ session->conntimeo = CONFIG_FTP_DEFTIMEO * CLOCKS_PER_SEC;
+ session->pid = getpid();
/* Use the default port if the user specified port number zero */
if (!server->port)
{
- session->port = HTONS(CONFIG_FTP_DEFPORT);
+ session->port = HTONS(CONFIG_FTP_DEFPORT);
}
else
{
- session->port = htons(server->port);
+ session->port = htons(server->port);
}
/* Create up a timer to prevent hangs */
@@ -124,6 +126,7 @@ SESSION ftpc_connect(FAR struct ftpc_connect_s *server)
ndbg("ftpc_reconnect() failed: %d\n", errno);
goto errout_with_alloc;
}
+
return (SESSION)session;
errout_with_alloc:
@@ -182,6 +185,7 @@ int ftpc_reconnect(FAR struct ftpc_session_s *session)
addr.sin_family = AF_INET;
addr.sin_port = session->port;
addr.sin_addr.s_addr = session->addr.s_addr;
+
ret = ftpc_sockconnect(&session->cmd, &addr);
if (ret != OK)
{