summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil Nimmagadda <sunil@nimmagadda.net>2026-10-15 20:34:03 +0530
committerSunil Nimmagadda <sunil@nimmagadda.net>2026-10-15 20:34:03 +0530
commitbda75b0708a11a2fdb47eaa45f0c0b23195127f5 (patch)
tree29a06d4e8dbcef8c3e96e0e84725a916ca31e7ca
parentc81bee318f006f3e31eb3705fdc741d5527e63cd (diff)
Refactor to a local function, to be reused.
-rw-r--r--mkelf.lua7
1 files changed, 5 insertions, 2 deletions
diff --git a/mkelf.lua b/mkelf.lua
index 521b408..eb76d16 100644
--- a/mkelf.lua
+++ b/mkelf.lua
@@ -95,6 +95,10 @@ local Machine <const> = {
---@field shnum integer
---@field shstrndx integer
+local function efmt(endian)
+ return (endian == Endian.big) and ">" or "<"
+end
+
---@param hdr ElfHeader
---@nodiscard
local function ElfHeader_pack(hdr)
@@ -105,9 +109,8 @@ local function ElfHeader_pack(hdr)
hdr.ident_version,
hdr.osabi,
hdr.abiversion)
- local e = (hdr.data == Endian.big) and ">" or "<"
local sz = (hdr.class == Class.bit64) and "I8" or "I4"
- local h = string.pack(e .. "I2I2I4" ..
+ local h = string.pack(efmt(hdr.data) .. "I2I2I4" ..
sz .. sz .. sz ..
"I4I2I2I2I2I2I2",
hdr.type,