api: fix bug in string_match when mask begins and ends with "*"

The bug was string_match returning 0 (instead of 1) if mask begins and ends with
"*" and if string and mask have same length (except both "*") with same content:

string_match("abc",  "*abc*", 0) == 0  // BUG: it should return 1
string_match("abcd", "*abc*", 0) == 1  // OK