ravioli icon indicating copy to clipboard operation
ravioli copied to clipboard

void foo(int a[3]) not recognized as function

Open fg6hdw opened this issue 4 years ago • 0 comments

Functions that takes array arguments like void foo(int a[3]) are not recognized as functions by ravioli. Adding '[', ']' characters to function_matcher regex fixes the problem.

diff --git a/ravioli/complexity.py b/ravioli/complexity.py
index 87d79b8..20631c8 100644
--- a/ravioli/complexity.py
+++ b/ravioli/complexity.py
@@ -10,7 +10,7 @@ def calculate_complexity(code):
     original_code = code
     code = strip_comments(code)
     results = []
-    function_matcher = re.compile(r'\s+(\w+)\s*\([\w\s,\*]*\)\s*{', re.MULTILINE)
+    function_matcher = re.compile(r'\s+(\w+)\s*\([\w\s,\[\]\*]*\)\s*{', re.MULTILINE)

     for m in function_matcher.finditer(code):
         name = m.group(1)

fg6hdw avatar Nov 17 '21 10:11 fg6hdw