gps.sentence returns a string with \0 terminate as a char * ( char ptr?).
So:
char *gps_data = gps.sentence();
Mirf.send((byte *)gps_data, strlen(gps_data));
gps_data IS a string. No need to copy it anywhere else or try to "read it to a string".
"does this guy like over complicating things a little?".
I wasn't think that at all. I was thinking "a lot". 8)