}
}
+size_t hb_getline(char ** lineptr, size_t * n, FILE * fp)
+{
+#ifdef SYS_MINGW
+ char * bufptr = NULL;
+ char * p = bufptr;
+ size_t size;
+ int c;
+
+ if (lineptr == NULL)
+ {
+ return -1;
+ }
+ if (fp == NULL)
+ {
+ return -1;
+ }
+ if (n == NULL)
+ {
+ return -1;
+ }
+ bufptr = *lineptr;
+ size = *n;
+
+ c = fgetc(fp);
+ if (c == EOF)
+ {
+ return -1;
+ }
+ if (bufptr == NULL)
+ {
+ bufptr = malloc(128);
+ if (bufptr == NULL)
+ {
+ return -1;
+ }
+ size = 128;
+ }
+ p = bufptr;
+ while (c != EOF)
+ {
+ if ((p - bufptr) > (size - 1))
+ {
+ size = size + 128;
+ bufptr = realloc(bufptr, size);
+ if (bufptr == NULL)
+ {
+ return -1;
+ }
+ }
+ *p++ = c;
+ if (c == '\n')
+ {
+ break;
+ }
+ c = fgetc(fp);
+ }
+
+ *p++ = '\0';
+ *lineptr = bufptr;
+ *n = size;
+
+ return p - bufptr - 1;
+#else
+ return getline(lineptr, n, fp);
+#endif
+}
const char * hb_x265_encopt_name( const char * name );
#endif
+size_t hb_getline(char **lineptr, size_t *n, FILE *fp);
+
#define HB_NEG_FLOAT_REG "(([-])?(([0-9]+([.,][0-9]+)?)|([.,][0-9]+))"
#define HB_FLOAT_REG "(([0-9]+([.,][0-9]+)?)|([.,][0-9]+))"
#define HB_NEG_INT_REG "(([-]?[0-9]+)"
ssize_t len;
size_t size = 0;
- len = getline(&line, &size, pv->file);
+ len = hb_getline(&line, &size, pv->file);
if (len < 0)
{
// Incomplete SSA header
ssize_t len;
size_t size = 0;
- len = getline(&line, &size, pv->file);
+ len = hb_getline(&line, &size, pv->file);
if (len > 0 && line != NULL)
{
out = decode_line_to_mkv_ssa(pv, line, len);