Help With Car Tracking System (From Instructables)

  if (Sim900Serial.available()) // If data is comming from from GSM shield)
  {

    while(Sim900Serial.available()) // reading data into char array

What's the point of an "if" followed by a "while" with the same condition?
How much data is this going to collect before writing it out and resetting the buffer?

(Why aren't you asking over at the Instructables site?)