122 lines
5.4 KiB
Plaintext
122 lines
5.4 KiB
Plaintext
$OpenBSD: patch-src_dvdread_dvd_reader_c,v 1.1 2005/11/03 04:25:08 jolan Exp $
|
|
--- src/dvdread/dvd_reader.c.orig Thu Sep 30 21:39:11 2004
|
|
+++ src/dvdread/dvd_reader.c Sun Oct 10 21:53:17 2004
|
|
@@ -170,9 +170,9 @@ static int initAllCSSKeys( dvd_reader_t
|
|
for( title = 0; title < 100; title++ ) {
|
|
gettimeofday( &t_s, NULL );
|
|
if( title == 0 ) {
|
|
- sprintf( filename, "/VIDEO_TS/VIDEO_TS.VOB" );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VIDEO_TS.VOB" );
|
|
} else {
|
|
- sprintf( filename, "/VIDEO_TS/VTS_%02d_%d.VOB", title, 0 );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VTS_%02d_%d.VOB", title, 0 );
|
|
}
|
|
start = UDFFindFile( dvd, filename, &len );
|
|
if( start != 0 && len != 0 ) {
|
|
@@ -190,7 +190,7 @@ static int initAllCSSKeys( dvd_reader_t
|
|
if( title == 0 ) continue;
|
|
|
|
gettimeofday( &t_s, NULL );
|
|
- sprintf( filename, "/VIDEO_TS/VTS_%02d_%d.VOB", title, 1 );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VTS_%02d_%d.VOB", title, 1 );
|
|
start = UDFFindFile( dvd, filename, &len );
|
|
if( start == 0 || len == 0 ) break;
|
|
|
|
@@ -583,7 +583,7 @@ static int findDirFile( const char *path
|
|
|
|
while( ( ent = readdir( dir ) ) != NULL ) {
|
|
if( !strcasecmp( ent->d_name, file ) ) {
|
|
- sprintf( filename, "%s%s%s", path,
|
|
+ snprintf( filename, MAX_UDF_FILE_NAME_LEN, "%s%s%s", path,
|
|
( ( path[ strlen( path ) - 1 ] == '/' ) ? "" : "/" ),
|
|
ent->d_name );
|
|
return 0;
|
|
@@ -609,11 +609,11 @@ static int findDVDFile( dvd_reader_t *dv
|
|
ret = findDirFile( dvd->path_root, nodirfile, filename );
|
|
if( ret < 0 ) {
|
|
/* Try also with adding the path, just in case. */
|
|
- sprintf( video_path, "%s/VIDEO_TS/", dvd->path_root );
|
|
+ snprintf( video_path, sizeof(video_path), "%s/VIDEO_TS/", dvd->path_root );
|
|
ret = findDirFile( video_path, nodirfile, filename );
|
|
if( ret < 0 ) {
|
|
/* Try with the path, but in lower case. */
|
|
- sprintf( video_path, "%s/video_ts/", dvd->path_root );
|
|
+ snprintf( video_path, sizeof(video_path), "%s/video_ts/", dvd->path_root );
|
|
ret = findDirFile( video_path, nodirfile, filename );
|
|
if( ret < 0 ) {
|
|
return 0;
|
|
@@ -677,9 +677,9 @@ static dvd_file_t *DVDOpenVOBUDF( dvd_re
|
|
dvd_file_t *dvd_file;
|
|
|
|
if( title == 0 ) {
|
|
- sprintf( filename, "/VIDEO_TS/VIDEO_TS.VOB" );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VIDEO_TS.VOB" );
|
|
} else {
|
|
- sprintf( filename, "/VIDEO_TS/VTS_%02d_%d.VOB", title, menu ? 0 : 1 );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VTS_%02d_%d.VOB", title, menu ? 0 : 1 );
|
|
}
|
|
start = UDFFindFile( dvd, filename, &len );
|
|
if( start == 0 ) return 0;
|
|
@@ -699,7 +699,7 @@ static dvd_file_t *DVDOpenVOBUDF( dvd_re
|
|
int cur;
|
|
|
|
for( cur = 2; cur < 10; cur++ ) {
|
|
- sprintf( filename, "/VIDEO_TS/VTS_%02d_%d.VOB", title, cur );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VTS_%02d_%d.VOB", title, cur );
|
|
if( !UDFFindFile( dvd, filename, &len ) ) break;
|
|
dvd_file->filesize += len / DVD_VIDEO_LB_LEN;
|
|
}
|
|
@@ -741,9 +741,9 @@ static dvd_file_t *DVDOpenVOBPath( dvd_r
|
|
dvd_input_t dev;
|
|
|
|
if( title == 0 ) {
|
|
- sprintf( filename, "VIDEO_TS.VOB" );
|
|
+ snprintf( filename, sizeof(filename), "VIDEO_TS.VOB" );
|
|
} else {
|
|
- sprintf( filename, "VTS_%02i_0.VOB", title );
|
|
+ snprintf( filename, sizeof(filename), "VTS_%02i_0.VOB", title );
|
|
}
|
|
if( !findDVDFile( dvd, filename, full_path ) ) {
|
|
free( dvd_file );
|
|
@@ -769,7 +769,7 @@ static dvd_file_t *DVDOpenVOBPath( dvd_r
|
|
} else {
|
|
for( i = 0; i < 9; ++i ) {
|
|
|
|
- sprintf( filename, "VTS_%02i_%i.VOB", title, i + 1 );
|
|
+ snprintf( filename, sizeof(filename), "VTS_%02i_%i.VOB", title, i + 1 );
|
|
if( !findDVDFile( dvd, filename, full_path ) ) {
|
|
break;
|
|
}
|
|
@@ -805,16 +805,16 @@ dvd_file_t *DVDOpenFile( dvd_reader_t *d
|
|
switch( domain ) {
|
|
case DVD_READ_INFO_FILE:
|
|
if( titlenum == 0 ) {
|
|
- sprintf( filename, "/VIDEO_TS/VIDEO_TS.IFO" );
|
|
+ snprintf( filename, sizeof(filename),"/VIDEO_TS/VIDEO_TS.IFO" );
|
|
} else {
|
|
- sprintf( filename, "/VIDEO_TS/VTS_%02i_0.IFO", titlenum );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VTS_%02i_0.IFO", titlenum );
|
|
}
|
|
break;
|
|
case DVD_READ_INFO_BACKUP_FILE:
|
|
if( titlenum == 0 ) {
|
|
- sprintf( filename, "/VIDEO_TS/VIDEO_TS.BUP" );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VIDEO_TS.BUP" );
|
|
} else {
|
|
- sprintf( filename, "/VIDEO_TS/VTS_%02i_0.BUP", titlenum );
|
|
+ snprintf( filename, sizeof(filename), "/VIDEO_TS/VTS_%02i_0.BUP", titlenum );
|
|
}
|
|
break;
|
|
case DVD_READ_MENU_VOBS:
|
|
@@ -1098,8 +1098,8 @@ int DVDDiscID( dvd_reader_t *dvd, unsign
|
|
}
|
|
bytes_read = DVDReadBytes( dvd_file, buffer, file_size );
|
|
if( bytes_read != file_size ) {
|
|
- fprintf( stderr, "libdvdread: DVDDiscId read returned %zd bytes"
|
|
- ", wanted %zd\n", bytes_read, file_size );
|
|
+ fprintf( stderr, "libdvdread: DVDDiscId read returned %d bytes"
|
|
+ ", wanted %d\n", bytes_read, file_size );
|
|
DVDCloseFile( dvd_file );
|
|
free( buffer_base );
|
|
return -1;
|