Nmap Development mailing list archives
Re: [nmap-svn] r28977 - nmap-exp/aca/nmap/scripts
From: Patrick Donnelly <batrick () batbytes com>
Date: Mon, 18 Jun 2012 12:12:43 -0400
On Mon, Jun 18, 2012 at 10:29 AM, Henri Doreau <henri.doreau () gmail com> wrote:
Hi, just saw this commit: 2012/6/18 <commit-mailer () insecure org>:Author: aca Date: Mon Jun 18 07:14:58 2012 New Revision: 28977 Log: Applied lua-format Modified: nmap-exp/aca/nmap/scripts/pcanywhere-brute.nse [...]I might have missed something and I apologize if this has already been discussed, but what's the reason for adding those ';'? Seems to me that so far the "rule" for NSE was to not use semicolons to end statements. Does it change anything internally? Or is it related to recent/upcoming changes? For the sake of consistency I'd rather recommend to select one style (w/ or w/o semicolons) and stick to it.
The reason for using semicolons is to handle a corner case in the Lua syntax where it is necessary: f() ("foo"):lower() can be parsed as either f()("foo"):lower(); or as f(); ("foo"):lower(); You get this error from Lua: $ lua Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
dof = a ("foo"):lower()
stdin:3: ambiguous syntax (function call x new statement) near '(' Although, after just testing this, apparently in Lua 5.2.0, this syntax error is gone. Instead, Lua just does the first case:
doa = string.upper ("foo"):gsub(".", "%1%1") print(a) end
FFOOOO Reformatted to help visualize what's done:
doa = string.upper("foo"):gsub(".", "%1%1"); print(a); end
FFOOOO Now, normally you just won't see this construction at all. The person writing the code will insert a semicolon to force the statement termination (or, in Lua 5.2, be caught with their pants down at run-time). Anyway, I'm undecided if the semicolons will stay. This is one of the reasons I haven't reformatted all the code yet. If I do take out semicolons, then I will have to account for the above case as removing a semicolon would functionally change the code. -- - Patrick Donnelly _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Re: [nmap-svn] r28977 - nmap-exp/aca/nmap/scripts Henri Doreau (Jun 18)
- Re: [nmap-svn] r28977 - nmap-exp/aca/nmap/scripts Aleksandar Nikolic (Jun 18)
- Re: [nmap-svn] r28977 - nmap-exp/aca/nmap/scripts Patrick Donnelly (Jun 18)
- Re: [nmap-svn] r28977 - nmap-exp/aca/nmap/scripts Aleksandar Nikolic (Jun 18)