From 48aee08be6614bf30710ae7c42248f64d55f8f22 Mon Sep 17 00:00:00 2001 From: Marius Date: Wed, 20 Apr 2011 17:40:12 +0300 Subject: beta 2011.04.20 16:23 --- scripts/context/lua/mtxrun.lua | 20 ++++++++++++++------ scripts/context/stubs/mswin/mtxrun.lua | 20 ++++++++++++++------ scripts/context/stubs/unix/mtxrun | 20 ++++++++++++++------ 3 files changed, 42 insertions(+), 18 deletions(-) (limited to 'scripts') diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index a72c56251..2f81b4629 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -1899,16 +1899,24 @@ function number.clearbit(x, p) return hasbit(x, p) and x - p or x end + function number.tobitstring(n) if n == 0 then - return "0" + return "00000000" else - local t = { } + tc = 0 + t = {} while n > 0 do - insert(t,1,n % 2 > 0 and 1 or 0) - n = floor(n/2) - end - return concat(t) + table.insert(t,1,n % 2 > 0 and 1 or 0) + n = math.floor(n/2) + tc = tc + 1 + end + while tc % 8 > 0 do + table.insert(t,1,0) + tc = tc + 1 + end + n = table.concat(t) + return n end end diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index a72c56251..2f81b4629 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -1899,16 +1899,24 @@ function number.clearbit(x, p) return hasbit(x, p) and x - p or x end + function number.tobitstring(n) if n == 0 then - return "0" + return "00000000" else - local t = { } + tc = 0 + t = {} while n > 0 do - insert(t,1,n % 2 > 0 and 1 or 0) - n = floor(n/2) - end - return concat(t) + table.insert(t,1,n % 2 > 0 and 1 or 0) + n = math.floor(n/2) + tc = tc + 1 + end + while tc % 8 > 0 do + table.insert(t,1,0) + tc = tc + 1 + end + n = table.concat(t) + return n end end diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index a72c56251..2f81b4629 100644 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -1899,16 +1899,24 @@ function number.clearbit(x, p) return hasbit(x, p) and x - p or x end + function number.tobitstring(n) if n == 0 then - return "0" + return "00000000" else - local t = { } + tc = 0 + t = {} while n > 0 do - insert(t,1,n % 2 > 0 and 1 or 0) - n = floor(n/2) - end - return concat(t) + table.insert(t,1,n % 2 > 0 and 1 or 0) + n = math.floor(n/2) + tc = tc + 1 + end + while tc % 8 > 0 do + table.insert(t,1,0) + tc = tc + 1 + end + n = table.concat(t) + return n end end -- cgit v1.2.3