mirror of
https://github.com/nmap/nmap.git
synced 2026-10-21 11:22:05 +00:00
Don't strip leading 0s in stdnse.tobinary
Every place this function is used, the result is padded with 0s anyway, so may as well not strip them here. Didn't remove the padding code since this could return only 4 chars, and most padding is to 8-char width.
This commit is contained in:
parent
86deb87187
commit
6f57df02be
2 changed files with 8 additions and 6 deletions
|
|
@ -70,14 +70,16 @@ local function chi2(data, num_cats)
|
|||
return x2
|
||||
end
|
||||
|
||||
local function c_to_bin (c)
|
||||
local n = stdnse.tobinary(c:byte())
|
||||
return ("0"):rep(8-#n)..n
|
||||
end
|
||||
|
||||
-- Split a string into a sequence of bit strings of the given length.
|
||||
-- splitbits("abc", 5) --> {"01100", "00101", "10001", "00110"}
|
||||
-- Any short final group is omitted.
|
||||
local function splitbits(s, n)
|
||||
local bits = s:gsub(".", function (c)
|
||||
local n = stdnse.tobinary(c:byte())
|
||||
return ("0"):rep(8-#n)..n
|
||||
end)
|
||||
local bits = s:gsub(".", c_to_bin)
|
||||
|
||||
local seq = {}
|
||||
for i = 1, #bits - n, n do
|
||||
|
|
|
|||
|
|
@ -260,12 +260,12 @@ do
|
|||
};
|
||||
|
||||
--- Converts the given number, n, to a string in a binary number format (12
|
||||
-- becomes "1100").
|
||||
-- becomes "1100"). Leading 0s not stripped.
|
||||
-- @param n Number to convert.
|
||||
-- @return String in binary format.
|
||||
function tobinary(n)
|
||||
assert(tonumber(n), "number expected");
|
||||
return (("%x"):format(n):gsub("%w", t):gsub("^0*", ""));
|
||||
return (("%x"):format(n):gsub("%w", t))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue