From 80a4a98ae8be629aad5dbab6ce6d7c0bbf3da985 Mon Sep 17 00:00:00 2001 From: B Date: Sat, 2 May 2015 16:47:48 +0200 Subject: [PATCH] Using the -E switch only in case of GNU man --- src/frida/tracer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/frida/tracer.py b/src/frida/tracer.py index 566ad37..06849ed 100644 --- a/src/frida/tracer.py +++ b/src/frida/tracer.py @@ -6,6 +6,7 @@ import time import re import binascii import subprocess +import platform from frida.core import ModuleFunction, ObjCMethod @@ -437,7 +438,11 @@ class Repository(object): varargs = False try: with open(os.devnull, 'w') as devnull: - output = subprocess.check_output(["man", "-E", "UTF-8", "-P", "col -b", "2", function.name], stderr=devnull) + output_argv=["man"] + if platform.system() != "Darwin": + output_argv.extend(["-E","UTF-8"]) + output_argv.extend(["-P", "col -b", "2", function.name]) + output = subprocess.check_output(output_argv, stderr=devnull) match = re.search(r"^SYNOPSIS(?:.|\n)*?((?:^.+$\n)* {5}" + function.name + r"\(.*\n(^.+$\n)*)(?:.|\n)*^DESCRIPTION", output.decode("UTF-8",errors="replace"), re.MULTILINE) if match: decl = match.group(1)