/* Decode given GLL sentence by validating and splitting the source string into values.  */
static ssize_t decode_gll(struct nmea_sentence_t *dst_p, char *src_p)
/* Decode given GLL sentence by validating and splitting the source string into values.  */
static ssize_t decode_gll(struct nmea_sentence_t *dst_p, char *src_p)
{
    dst_p->type = nmea_sentence_type_gll_t;
    dst_p->gll.latitude.angle_p = strsep(&src_p, ",");
    dst_p->gll.latitude.direction_p = strsep(&src_p, ",");
    dst_p->gll.longitude.angle_p = strsep(&src_p, ",");
    dst_p->gll.longitude.direction_p = strsep(&src_p, ",");
    dst_p->gll.time_of_fix_p = strsep(&src_p, ",");
    dst_p->gll.data_active_p = strsep(&src_p, ",");
    (void)strsep(&src_p, "*");
    if (src_p == NULL) {
        return (-EPROTO);
    }
    return (0);
}