diff --git a/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike b/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike index b1080cf965aa769f6f919ba09f999b312adb6079..40760f3b64215b47a44c369ed585db80c2cb34ac 100644 --- a/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike +++ b/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike @@ -1120,7 +1120,12 @@ class PikeType if (sizeof(tmp) == 1) { int bits; /* Support the string(Xbit) syntax too. */ - if ((sizeof(q) == 4) && ((string)q[2] == "bit") && + if (sizeof(q) == 3 && sscanf((string)q[1], "%dbit", bits)) + { + low = "0"; + high = sprintf("%d", (1 << bits) - 1); + } + else if ((sizeof(q) == 4) && ((string)q[2] == "bit") && ((bits = (int)(string)q[1]) > 0)) { low = "0"; high = sprintf("%d", (1 << bits) - 1);