char c = gpsSerial.println("AT+CGPSOUT=2");
What do you expect 'c' to contain?!? I think what you get back is the number of characters sent. I think in this case it will be 12.
gpsSerial.println(c);
I don't think this is going to do whatever you intended it to do!
I think for that first part you maybe meant:
const char *c = "AT+CGPSOUT=2";
gpsSerial.println(c);