When using option word (-w) on lines containing 2 similar words, if the first word contains the "find" string but does not match the full word, the program seems to skip the rest of the line and does not find nor count the following words/occurrences.
For exemple:
Using test.c containing the following line:
o_suvapp2 = suvapp2;
The following command
fart -w -V -- test.c suvapp2 l34c_suvapp2_l1
returns
FART: --verbose
FART: wild_card="test.c"
FART: find_string="suvaddrt"
FART: replace_string="l34c_suvaddrt_l1"
FART: processing ,test.c
Replaced 0 occurrence(s) in 0 file(s).
Nothing is replaced, even though the full word is clearly present.
This next command
fart -V -- test.c suvapp2 l34c_suvapp2_l1
outputs
FART: --verbose
FART: wild_card="test.c"
FART: find_string="suvaddrt"
FART: replace_string="l34c_suvaddrt_l1"
FART: processing ,test.c
test.c
Replaced 2 occurrence(s) in 1 file(s).
and successfully replaces both occurrences.
Here is a fix, in fart.cpp around line 615 (attached is a full fart.cpp that is fixed)