+ FLAC__int64 ret, field;
+ double x;
+ char c, *end;
+
+ c = *s++;
+ if(c >= '0' && c <= '9')
+ field = (c - '0');
+ else
+ return -1;
+ while(':' != (c = *s++)) {
+ if(c >= '0' && c <= '9')
+ field = field * 10 + (c - '0');
+ else
+ return -1;
+ }
+
+ ret = field * 60 * sample_rate;
+
+ s++; /* skip the ':' */
+ if(strspn(s, "0123456789.") != strlen(s))
+ return -1;
+ x = strtod(s, &end);
+ if(*end || end == s)
+ return -1;
+ if(x < 0.0 || x >= 60.0)
+ return -1;
+
+ ret += (FLAC__int64)(x * sample_rate);
+
+ return ret;
+}
+
+static char *local__get_field_(char **s, FLAC__bool allow_quotes)
+{
+ FLAC__bool has_quote = false;