Skip to content

Commit b5cafe1

Browse files
author
rocky
committed
DRY graal unmarshal a little more
1 parent 46cf6ec commit b5cafe1

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

xdis/unmarsh_graal.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -308,23 +308,16 @@ def graal_readIntArray(self) -> tuple[int, ...]:
308308
Python equivalent of Python Graal's readIntArray() from
309309
MarshalModuleBuiltins.java
310310
"""
311-
length: int = int(unpack("<i", self.fp.read(4))[0])
311+
length: int = self.read_uint32()
312312
return tuple([self.read_int32() for _ in range(length)])
313313

314-
def graal_readLong(self) -> int:
315-
"""
316-
Python equivalent of Python Graal's readLongt() from
317-
MarshalModuleBuiltins.java
318-
"""
319-
return int(unpack("<q", self.fp.read(8))[0])
320-
321314
def graal_readLongArray(self) -> tuple[int, ...]:
322315
"""
323-
Python equivalent of Python Graal's readLongt() from
316+
Python equivalent of Python Graal's readLong() from
324317
MarshalModuleBuiltins.java
325318
"""
326319
length: int = int(unpack("<i", self.fp.read(4))[0])
327-
return tuple([self.graal_readLong() for _ in range(length)])
320+
return tuple([self.read_float() for _ in range(length)])
328321

329322
def graal_readObjectArray(self) -> tuple:
330323
"""
@@ -348,7 +341,7 @@ def graal_readString(self) -> str:
348341
Python equvalent of Python Graal's readString() from
349342
MarshalModuleBuiltins.java
350343
"""
351-
strsize: int = unpack("<i", self.fp.read(4))[0]
344+
strsize: int = self.read_uint32()
352345
return self.fp.read(strsize).decode("utf-8", errors="ignore")
353346

354347
def graal_readStringArray(self) -> tuple[str, ...]:

0 commit comments

Comments
 (0)