about summary refs log tree commit diff stats
path: root/miasm2/os_dep/linux_stdlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm2/os_dep/linux_stdlib.py')
-rw-r--r--miasm2/os_dep/linux_stdlib.py24
1 files changed, 2 insertions, 22 deletions
diff --git a/miasm2/os_dep/linux_stdlib.py b/miasm2/os_dep/linux_stdlib.py
index 9e68454c..d0e281a1 100644
--- a/miasm2/os_dep/linux_stdlib.py
+++ b/miasm2/os_dep/linux_stdlib.py
@@ -4,6 +4,7 @@ from sys import stdout
 from string import printable
 
 from miasm2.os_dep.common import heap
+from miasm2.os_dep.common import get_fmt_args as _get_fmt_args
 
 
 class c_linobjs(object):
@@ -104,28 +105,7 @@ def xxx_puts(jitter):
 
 
 def get_fmt_args(jitter, fmt, cur_arg):
-    output = ""
-    while True:
-        char = jitter.vm.get_mem(fmt, 1)
-        fmt += 1
-        if char == '\x00':
-            break
-        if char == '%':
-            token = '%'
-            while True:
-                char = jitter.vm.get_mem(fmt, 1)
-                fmt += 1
-                token += char
-                if char.lower() in '%cdfsux':
-                    break
-            if token.endswith('s'):
-                arg = jitter.get_str_ansi(jitter.get_arg_n_systemv(cur_arg))
-            else:
-                arg = jitter.get_arg_n_systemv(cur_arg)
-            char = token % arg
-            cur_arg += 1
-        output += char
-    return output
+    return _get_fmt_args(fmt, cur_arg, jitter.get_str_ansi, jitter.get_arg_n_systemv)
 
 
 def xxx_snprintf(jitter):