char *end, *start;
char *end, *start, *data_end = data->buf + data->len;
NextIsRaw(struct input_callback_data *data, char **startp, int *lenp){    char *end, *start;#ifdef DEBUG_shaver_input    fputs("[R]", stderr);#endif    /* process pending raw section, or rest of current one */    if (!(data->f_raw ||           (data->point[0] == '%' && data->point[1] == '{')))        return 0;            start = *startp = data->point;        while ((end = strstr(start, "%}"))) {        if (end[-1] == '\r' ||            end[-1] == '\n')            break;        start = end;    }        if (end) {        *lenp = end - data->point + 2;        data->f_raw = 0;    } else {        *lenp = data->len;        data->f_raw = 1;    }    return 1;    }