(Pre-existing) Should be ssize_t pos, since you routinely consider the possibility that its value might be -1.  Of course, this also means StrList_Search*Prefix() should return ssize_t, not size_t.