gps speed based function issues

while (1) {
  c=mySerial.read();
  if (c == -1)
      continue;

It seems to me that this will block while it is reading a number line. How about reading non-blocking?