tree 3c2fa7dbc8d2920e1649fb0a7a066cd95dc388db
parent 200f58c07e5a1a9d16a97428e22d2bea912fffa5
author Mateusz Starzyk <mateusz.starzyk@mobica.com> 1626965015 +0200
committer Mateusz Starzyk <mateusz.starzyk@mobica.com> 1628607261 +0200

Fix parantheses on return and sizeof statements.

Used script:
```
import re
import sys

for arg in sys.argv[1:]:
    print(arg)
    with open(arg, 'r') as file:
        content = file.read()
        content = re.sub(r"return\s?\((?!.*\).*\()\s*\n?(.*)\n?\);", r"return \1;", \
            content, flags = re.M)
        content = re.sub(r"sizeof ([^\(][a-zA-Z0-9_\[\]]*)", r"sizeof(\1)",\
            content, flags = re.M)
    with open(arg, 'w') as file:
        file.write(content)

```
Executed with:
` find . -regextype posix-egrep -regex ".*\.([hc]|fmt|function)" | xargs -L1 python script.py`

Signed-off-by: Mateusz Starzyk <mateusz.starzyk@mobica.com>
