#include <vlc_common.h>
#include <vlc_strings.h>
-#include <vlc_osd.h>
#include <vlc_memory.h>
#include <libvlc.h>
return NULL;
s->p_input = p_access->p_input;
- s->psz_path = strdup( p_access->psz_path );
+ s->psz_path = strdup( p_access->psz_location );
s->p_sys = p_sys = malloc( sizeof( *p_sys ) );
if( !s->psz_path || !s->p_sys )
{
goto error;
p_entry->i_size = p_access->info.i_size;
- p_entry->psz_path = strdup( p_access->psz_path );
+ p_entry->psz_path = strdup( p_access->psz_location );
if( !p_entry->psz_path )
{
free( p_entry );
(p_sys->stat.i_read_time + 1);
msg_Dbg( s, "prebuffering done %"PRId64" bytes in %"PRId64"s - "
- "%"PRId64" kbytes/s",
+ "%"PRId64" KiB/s",
p_sys->stat.i_bytes,
p_sys->stat.i_read_time / INT64_C(1000000),
i_byterate / 1024 );
(p_sys->stat.i_read_time+1);
msg_Dbg( s, "pre-buffering done %"PRId64" bytes in %"PRId64"s - "
- "%"PRId64" kbytes/s",
+ "%"PRId64" KiB/s",
p_sys->stat.i_bytes,
p_sys->stat.i_read_time / INT64_C(1000000),
i_byterate / 1024 );
{
/* UTF-8: 0A <LF> */
psz_eol = memchr( p_data, '\n', i_data );
+ if( psz_eol == NULL )
+ /* UTF-8: 0D <CR> */
+ psz_eol = memchr( p_data, '\r', i_data );
}
else
{
- const uint8_t *p = p_data;
- const uint8_t *p_last = p + i_data - s->p_text->i_char_width;
+ const uint8_t *p_last = p_data + i_data - s->p_text->i_char_width;
+ uint16_t eol = s->p_text->b_little_endian ? 0x0A00 : 0x00A0;
assert( s->p_text->i_char_width == 2 );
- if( s->p_text->b_little_endian == true)
+ psz_eol = NULL;
+ /* UTF-16: 000A <LF> */
+ for( const uint8_t *p = p_data; p <= p_last; p += 2 )
{
- /* UTF-16LE: 0A 00 <LF> */
- while( p <= p_last && ( p[0] != 0x0A || p[1] != 0x00 ) )
- p += 2;
- }
- else
- {
- /* UTF-16BE: 00 0A <LF> */
- while( p <= p_last && ( p[1] != 0x0A || p[0] != 0x00 ) )
- p += 2;
+ if( U16_AT( p ) == eol )
+ {
+ psz_eol = (char *)p + 1;
+ break;
+ }
}
- if( p > p_last )
- {
- psz_eol = NULL;
- }
- else
- {
- psz_eol = (char *)p + 1;
+ if( psz_eol == NULL )
+ { /* UTF-16: 000D <CR> */
+ eol = s->p_text->b_little_endian ? 0x0D00 : 0x00D0;
+ for( const uint8_t *p = p_data; p <= p_last; p += 2 )
+ {
+ if( U16_AT( p ) == eol )
+ {
+ psz_eol = (char *)p + 1;
+ break;
+ }
+ }
}
}