]> Kevux Git Server - fll/commit
Bugfix: fll_execute does not execute full path.
authorKevin Day <thekevinday@gmail.com>
Sat, 17 Apr 2021 04:00:00 +0000 (23:00 -0500)
committerKevin Day <thekevinday@gmail.com>
Sat, 17 Apr 2021 04:08:32 +0000 (23:08 -0500)
commitc1c64aa9f7eec584f03306482281bf5c1422d44b
tree1ed1109a8cf62b6389793200951cdac9c7623ddc
parent2b1f0a79e7560d917ef8cefec76c05cba0926efb
Bugfix: fll_execute does not execute full path.

When passed a full path to a program (rather than depending on detecting in from just a program name) the program does not execute.

There are several logic flaws and mistakes.
- The last_slash should have "+1" to avoid including the slash itself.
- When environment is cleared, it need to potentially use "program" or "arguments.array[0].string" if a slash already exists in the provided name.
- The final NULL at the end of the program_path string is missing.
- The "program" or "arguments.array[0].string" should be used in general instead of always the "program" only.
- The fixated_is is being used incorrectly in private_fll_execute_path_arguments_fixate (and the documentation is incorrect).

I suspect that these functions are messy due to changes in design that were not fully updated (including the appropriate documentation).
level_2/fll_execute/c/execute.c
level_2/fll_execute/c/execute.h
level_2/fll_execute/c/private-execute.c
level_2/fll_execute/c/private-execute.h