This function simply waits until the GPRS shield is ready to send a long enough response to the Arduino.
You call it with parameter “no_of_bytes” how long response you are expecting, and a “timeout” when to return with a timeout (1 second would equal 5 (5 * 200 = 1000)).
I agree it is not the best approach. In my opinion it would have been better to read the response until you get the newline character indicating a full line.
I would recommend that at first you try using GPRS shield interactively – seeedstudio.com/wiki/index.p … PRS_Shield
You send AT commands to the shield and get the response, so you can easily see how this all works, are your commands correct and what is the exact response, sometimes it’s just “OK”, sometimes it’s a longer string. That helps a lot.