BUG/MINOR: lua: Map.end are not reliable because "end" is a reserved keyword
This patch change the names prefixing it by a "_". So "end" becomes "_end". The backward compatibility with names without the prefix "_" is assured. In other way, another the keyword "end" can be used like this: Map['end']. Thanks Robin H. Johnson for the bug repport This should be backported in version 1.6 and 1.7
This commit is contained in:
parent
c0752565fe
commit
4dc7197338
@ -1863,7 +1863,7 @@ Map class
|
||||
default = "usa"
|
||||
|
||||
-- Create and load map
|
||||
geo = Map.new("geo.map", Map.ip);
|
||||
geo = Map.new("geo.map", Map._ip);
|
||||
|
||||
-- Create new fetch that returns the user country
|
||||
core.register_fetches("country", function(txn)
|
||||
@ -1888,60 +1888,76 @@ Map class
|
||||
return loc;
|
||||
end);
|
||||
|
||||
.. js:attribute:: Map.int
|
||||
.. js:attribute:: Map._int
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.ip
|
||||
Note that :js:attr:`Map.int` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._ip
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.str
|
||||
Note that :js:attr:`Map.ip` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._str
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.beg
|
||||
Note that :js:attr:`Map.str` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._beg
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.sub
|
||||
Note that :js:attr:`Map.beg` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._sub
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.dir
|
||||
Note that :js:attr:`Map.sub` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._dir
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.dom
|
||||
Note that :js:attr:`Map.dir` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._dom
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.end
|
||||
Note that :js:attr:`Map.dom` is also available for compatibility.
|
||||
|
||||
.. js:attribute:: Map._end
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
.. js:attribute:: Map.reg
|
||||
.. js:attribute:: Map._reg
|
||||
|
||||
See the HAProxy configuration.txt file, chapter "Using ACLs and fetching
|
||||
samples" ans subchapter "ACL basics" to understand this pattern matching
|
||||
method.
|
||||
|
||||
Note that :js:attr:`Map.reg` is also available for compatibility.
|
||||
|
||||
|
||||
.. js:function:: Map.new(file, method)
|
||||
|
||||
@ -1951,10 +1967,10 @@ Map class
|
||||
:param integer method: Is the map pattern matching method. See the attributes
|
||||
of the Map class.
|
||||
:returns: a class Map object.
|
||||
:see: The Map attributes: :js:attr:`Map.int`, :js:attr:`Map.ip`,
|
||||
:js:attr:`Map.str`, :js:attr:`Map.beg`, :js:attr:`Map.sub`,
|
||||
:js:attr:`Map.dir`, :js:attr:`Map.dom`, :js:attr:`Map.end` and
|
||||
:js:attr:`Map.reg`.
|
||||
:see: The Map attributes: :js:attr:`Map._int`, :js:attr:`Map._ip`,
|
||||
:js:attr:`Map._str`, :js:attr:`Map._beg`, :js:attr:`Map._sub`,
|
||||
:js:attr:`Map._dir`, :js:attr:`Map._dom`, :js:attr:`Map._end` and
|
||||
:js:attr:`Map._reg`.
|
||||
|
||||
.. js:function:: Map.lookup(map, str)
|
||||
|
||||
|
@ -7258,6 +7258,10 @@ void hlua_init(void)
|
||||
/* register pattern types. */
|
||||
for (i=0; i<PAT_MATCH_NUM; i++)
|
||||
hlua_class_const_int(gL.T, pat_match_names[i], i);
|
||||
for (i=0; i<PAT_MATCH_NUM; i++) {
|
||||
snprintf(trash.str, trash.size, "_%s", pat_match_names[i]);
|
||||
hlua_class_const_int(gL.T, trash.str, i);
|
||||
}
|
||||
|
||||
/* register constructor. */
|
||||
hlua_class_function(gL.T, "new", hlua_map_new);
|
||||
|
Loading…
x
Reference in New Issue
Block a user