Date: Tue, 24 Jan 2006 22:23:53 +1100 (EST) From: Edwin Groothuis <edwin@mavetju.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/92258: [patch] sysutils/vobcopy - double detection of VOBs due to cd9660 driver Message-ID: <20060124112353.6580E26A@k7.mavetju> Resent-Message-ID: <200601241130.k0OBU6Rv064685@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 92258 >Category: ports >Synopsis: [patch] sysutils/vobcopy - double detection of VOBs due to cd9660 driver >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Jan 24 11:30:06 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Edwin Groothuis >Release: FreeBSD 6.0-RELEASE i386 >Organization: - >Environment: System: FreeBSD k7.mavetju 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC i386 >Description: systils/vobcopy tries to determine the size of the VOBs to be copied by checking for video_ts/foo.vob and VIDEO_TS/FOO.VOB. Due to the nature of the cd9660 driver, both files exist: $ ls -al /cdrom/video_ts/vts_04_1.vob -r-xr-xr-x 1 root wheel 13312000 Jan 24 2005 /cdrom/video_ts/vts_04_1.vob $ ls -al /cdrom/video_ts/VTS_04_1.VOB -r-xr-xr-x 1 root wheel 13312000 Jan 24 2005 /cdrom/video_ts/VTS_04_1.VOB This will thus generate a double size of the VOB copied: Copying finished! Let's see if the sizes match (roughly) Combined size of title-vobs: 26624000 (25 MB) Copied size (size on disk): 13312000 (13 MB) [Error] Hmm, the sizes differ by more than 2000 >How-To-Repeat: >Fix: Add this patch patch-dvd.c: --- dvd.c.orig Tue Jan 24 22:20:15 2006 +++ dvd.c Tue Jan 24 22:21:36 2006 @@ -692,28 +692,6 @@ /* fprintf(stderr,"debug: vob_size: %lli\n",buf.st_size); */ } } - strcpy( stat_path, path_to_vobs3 ); - strcat( stat_path, "_1.vob" ); - if( ( tmp_streamin1 = fopen( stat_path, "r" ) ) != NULL ) /*check if this path is correct */ - { - fclose ( tmp_streamin1 ); - subvob = 1; - while( !stat( stat_path, &buf ) ) - { - /* adjust path for next subvob */ - subvob++; - strcpy( stat_path, path_to_vobs3 ); - strcat( stat_path, "_" ); - sprintf( temp1, "%d", subvob ); - strcat( stat_path, temp1 ); - strcat( stat_path, ".vob" ); - - vob_size += buf.st_size; -/* fprintf(stderr,"debug: vob_size: %lli\n",vob_size); */ -/* fprintf(stderr,"debug: vob_size: %lli\n",buf.st_size); */ - } - } - return ( off_t ) vob_size; /* think that (off_t) is not really needed here? as it is defined as off_t and the function is also defined as off_t */ >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060124112353.6580E26A>