aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiego Nehab <diego.nehab@gmail.com>2016-03-04 14:38:56 -0300
committerDiego Nehab <diego.nehab@gmail.com>2016-03-04 14:38:56 -0300
commitcdce73b226cc4da6a073b79bec02a6780d32ff1a (patch)
treef47dd46096b92b520607d11cb81ac3376a12976c /src
parentfe7b37acedd61f425b8d0b0531e78cc45554b332 (diff)
downloadluasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.tar.gz
luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.tar.bz2
luasocket-cdce73b226cc4da6a073b79bec02a6780d32ff1a.zip
Added support for FTP command lists
Diffstat (limited to 'src')
-rw-r--r--src/ftp.lua15
-rw-r--r--src/ltn12.lua3
2 files changed, 15 insertions, 3 deletions
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()
278end) 287end)
@@ -282,4 +291,4 @@ _M.get = socket.protect(function(gett)
282 else return tget(gett) end 291 else return tget(gett) end
283end) 292end)
284 293
285return _M \ No newline at end of file 294return _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
25local unpack = unpack or table.unpack
26local 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"