ptr[i+1] が \0 でないからじゃね?
部分一致じゃだめで完全一致でないと 0 戻さない