static int get_line( hb_work_private_t * pv, char *buf, int size ) { int i; char c; // clear remnants of the previous line before progessing a new one memset(buf, '\0', size); /* Find newline in converted UTF-8 buffer */ for( i = 0; i < size - 1; i++ ) { if( pv->utf8_pos >= pv->utf8_end ) { if( !utf8_fill( pv ) ) { if( i ) return 1; else return 0; } } c = pv->utf8_buf[pv->utf8_pos++]; if( c == '\n' ) { buf[i] = '\n'; buf[i+1] = '\0'; return 1; } buf[i] = c; } buf[0] = '\0'; return 1; }
static int get_line( hb_work_private_t * pv, char *buf, int size ) { int i; char c; /* Find newline in converted UTF-8 buffer */ for( i = 0; i < size - 1; i++ ) { if( pv->utf8_pos >= pv->utf8_end ) { if( !utf8_fill( pv ) ) { if( i ) return 1; else return 0; } } c = pv->utf8_buf[pv->utf8_pos++]; if( c == '\n' ) { buf[i] = '\n'; buf[i+1] = '\0'; return 1; } buf[i] = c; } buf[0] = '\0'; return 1; }