diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-06-03 15:38:26 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-06-03 15:38:26 +0000 |
commit | 01429708989552ee1ce78a662e4bdc9145b49c72 (patch) | |
tree | 143330a4fc2da15fc71810551fa4733abd9b04bc /apps/netutils | |
parent | 80d5b281209708972a1e484f10f9b1cf74868ea4 (diff) | |
download | nuttx-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.c | 16 |
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) { |