diff options
| author | Diego Nehab <diego.nehab@gmail.com> | 2016-03-04 14:38:56 -0300 |
|---|---|---|
| committer | Diego Nehab <diego.nehab@gmail.com> | 2016-03-04 14:38:56 -0300 |
| commit | cdce73b226cc4da6a073b79bec02a6780d32ff1a (patch) | |
| tree | f47dd46096b92b520607d11cb81ac3376a12976c | |
| parent | fe7b37acedd61f425b8d0b0531e78cc45554b332 (diff) | |
| download | luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.tar.gz luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.tar.bz2 luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.zip | |
Added support for FTP command lists
| -rw-r--r-- | doc/socket.html | 6 | ||||
| -rw-r--r-- | src/ftp.lua | 15 | ||||
| -rw-r--r-- | src/ltn12.lua | 3 |
3 files changed, 19 insertions, 5 deletions
diff --git a/doc/socket.html b/doc/socket.html index fec09c4..a99d71b 100644 --- a/doc/socket.html +++ b/doc/socket.html | |||
| @@ -243,7 +243,9 @@ non-numeric indices) in the arrays will be silently ignored. | |||
| 243 | 243 | ||
| 244 | <p class=return> The function returns a list with the sockets ready for | 244 | <p class=return> The function returns a list with the sockets ready for |
| 245 | reading, a list with the sockets ready for writing and an error message. | 245 | reading, a list with the sockets ready for writing and an error message. |
| 246 | The error message is "<tt>timeout</tt>" if a timeout condition was met and | 246 | The error message is "<tt>timeout</tt>" if a timeout |
| 247 | condition was met, "<tt>select failed</tt>" if the call | ||
| 248 | to <tt>select</tt> failed, and | ||
| 247 | <tt><b>nil</b></tt> otherwise. The returned tables are | 249 | <tt><b>nil</b></tt> otherwise. The returned tables are |
| 248 | doubly keyed both by integers and also by the sockets | 250 | doubly keyed both by integers and also by the sockets |
| 249 | themselves, to simplify the test if a specific socket has | 251 | themselves, to simplify the test if a specific socket has |
| @@ -251,7 +253,7 @@ changed status. | |||
| 251 | </p> | 253 | </p> |
| 252 | 254 | ||
| 253 | <p class=note> | 255 | <p class=note> |
| 254 | <b>Note: </b>: <tt>select</tt> can monitor a limited number | 256 | <b>Note:</b> <tt>select</tt> can monitor a limited number |
| 255 | of sockets, as defined by the constant <tt>socket._SETSIZE</tt>. This | 257 | of sockets, as defined by the constant <tt>socket._SETSIZE</tt>. This |
| 256 | number may be as high as 1024 or as low as 64 by default, | 258 | number may be as high as 1024 or as low as 64 by default, |
| 257 | depending on the system. It is usually possible to change this | 259 | depending on the system. It is usually possible to change this |
diff --git a/src/ftp.lua b/src/ftp.lua index 917cd89..e0c3cae 100644 --- a/src/ftp.lua +++ b/src/ftp.lua | |||
| @@ -271,8 +271,17 @@ _M.command = socket.protect(function(cmdt) | |||
| 271 | local f = _M.open(cmdt.host, cmdt.port, cmdt.create) | 271 | local f = _M.open(cmdt.host, cmdt.port, cmdt.create) |
| 272 | f:greet() | 272 | f:greet() |
| 273 | f:login(cmdt.user, cmdt.password) | 273 | f:login(cmdt.user, cmdt.password) |
| 274 | f.try(f.tp:command(cmdt.command, cmdt.argument)) | 274 | if type(cmdt.command) == "table" then |
| 275 | if cmdt.check then f.try(f.tp:check(cmdt.check)) end | 275 | local argument = cmdt.argument or {} |
| 276 | local check = cmdt.check or {} | ||
| 277 | for i,cmd in ipairs(cmdt.command) do | ||
| 278 | f.try(f.tp:command(cmd, argument[i])) | ||
| 279 | if check[i] then f.try(f.tp:check(check[i])) end | ||
| 280 | end | ||
| 281 | else | ||
| 282 | f.try(f.tp:command(cmdt.command, cmdt.argument)) | ||
| 283 | if cmdt.check then f.try(f.tp:check(cmdt.check)) end | ||
| 284 | end | ||
| 276 | f:quit() | 285 | f:quit() |
| 277 | return f:close() | 286 | return f:close() |
| 278 | end) | 287 | end) |
| @@ -282,4 +291,4 @@ _M.get = socket.protect(function(gett) | |||
| 282 | else return tget(gett) end | 291 | else return tget(gett) end |
| 283 | end) | 292 | end) |
| 284 | 293 | ||
| 285 | return _M \ No newline at end of file | 294 | return _M |
diff --git a/src/ltn12.lua b/src/ltn12.lua index dede0fa..575c5a7 100644 --- a/src/ltn12.lua +++ b/src/ltn12.lua | |||
| @@ -22,6 +22,9 @@ _M.source = source | |||
| 22 | _M.sink = sink | 22 | _M.sink = sink |
| 23 | _M.pump = pump | 23 | _M.pump = pump |
| 24 | 24 | ||
| 25 | local unpack = unpack or table.unpack | ||
| 26 | local select = base.select | ||
| 27 | |||
| 25 | -- 2048 seems to be better in windows... | 28 | -- 2048 seems to be better in windows... |
| 26 | _M.BLOCKSIZE = 2048 | 29 | _M.BLOCKSIZE = 2048 |
| 27 | _M._VERSION = "LTN12 1.0.3" | 30 | _M._VERSION = "LTN12 1.0.3" |
