diff --git a/configs/olimex-lpc1766stk/README.txt b/configs/olimex-lpc1766stk/README.txt index d9368d4b754de1546ac729a3d795fd9de1d83d1c..3ee4383c016e83b9145dd71ee6e363fe6618d8fc 100755 --- a/configs/olimex-lpc1766stk/README.txt +++ b/configs/olimex-lpc1766stk/README.txt @@ -789,9 +789,11 @@ Where <subdir> is one of the following: From NSH, the startup command sequence is then: - mount -t vfat /dev/mmcsd0 /tmp # Mount the SD card at /tmp - cd /tmp # cd into the /tmp directory - ftpc xx.xx.xx.xx[:pp] # Start the FTP client + nsh> mount -t vfat /dev/mmcsd0 /tmp # Mount the SD card at /tmp + nsh> cd /tmp # cd into the /tmp directory + nsh> ftpc xx.xx.xx.xx[:pp] # Start the FTP client + nfc> login <name> <password> # Log into the FTP server + nfc> help # See a list of FTP commands where xx.xx.xx.xx is the IP address of the FTP server and pp is an optional port number (default is the standard FTP port number 21). diff --git a/configs/olimex-lpc1766stk/ftpc/defconfig b/configs/olimex-lpc1766stk/ftpc/defconfig index 53301f1658acbbf8e3442c2f258a823238259ed8..2ba0a0277ef2863d9f2bbb58e457aa2d9d6c374b 100755 --- a/configs/olimex-lpc1766stk/ftpc/defconfig +++ b/configs/olimex-lpc1766stk/ftpc/defconfig @@ -435,7 +435,8 @@ CONFIG_ARCH_BZERO=n # CONFIG_NFILE_DESCRIPTORS - The maximum number of file # descriptors (one for each open) # CONFIG_NFILE_STREAMS - The maximum number of streams that -# can be fopen'ed +# can be fopen'ed or fdopend'ed. This needs to be pretty +# large for ftpc because it uses two streams per socket. # CONFIG_NAME_MAX - The maximum size of a file name. # CONFIG_STDIO_BUFFER_SIZE - Size of the buffer to allocate # on fopen. (Only if CONFIG_NFILE_STREAMS > 0) @@ -461,7 +462,7 @@ CONFIG_MAX_TASKS=16 CONFIG_MAX_TASK_ARGS=4 CONFIG_NPTHREAD_KEYS=4 CONFIG_NFILE_DESCRIPTORS=8 -CONFIG_NFILE_STREAMS=8 +CONFIG_NFILE_STREAMS=12 CONFIG_NAME_MAX=32 CONFIG_STDIO_BUFFER_SIZE=256 CONFIG_NUNGET_CHARS=2 diff --git a/fs/fs_fdopen.c b/fs/fs_fdopen.c index 329e4dd843288bafe6834442989ad0107a0a225d..176ba1bf455db6d5d7d2f74381f5dd8db2fde627 100644 --- a/fs/fs_fdopen.c +++ b/fs/fs_fdopen.c @@ -159,12 +159,12 @@ FAR struct file_struct *fs_fdopen(int fd, int oflags, FAR _TCB *tcb) */ #if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0 - ret = net_checksd; + ret = net_checksd(tcb, fd, oflags); #else /* No networking... it is just a bad descriptor */ err = EBADF; - return ERROR; + goto errout; #endif } @@ -244,6 +244,10 @@ FAR struct file_struct *fs_fdopen(int fd, int oflags, FAR _TCB *tcb) } } + /* No free stream available.. report ENFILE */ + + err = ENFILE; + #if CONFIG_STDIO_BUFFER_SIZE > 0 errout_with_sem: #endif