When a AT Command return successfull (OK) the method recvFindAndFilter search for String target argument ("OK"); sometimes the method locate target but don't locate String begin or String end arguments from the caller and because this the method set data = "" and return false to the caller.
The replace code above set the data argument with the substring from the buffer (data_tmp) initial position to the target position (+target length) and return true to the caller.
When a AT Command return successfull (OK) the method recvFindAndFilter search for String target argument ("OK"); sometimes the method locate target but don't locate String begin or String end arguments from the caller and because this the method set data = "" and return false to the caller. The replace code above set the data argument with the substring from the buffer (data_tmp) initial position to the target position (+target length) and return true to the caller.