summaryrefslogtreecommitdiff
path: root/multimedia/lsdvd/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/lsdvd/patches/patch-ab')
-rw-r--r--multimedia/lsdvd/patches/patch-ab91
1 files changed, 0 insertions, 91 deletions
diff --git a/multimedia/lsdvd/patches/patch-ab b/multimedia/lsdvd/patches/patch-ab
deleted file mode 100644
index 66b798fdc9a..00000000000
--- a/multimedia/lsdvd/patches/patch-ab
+++ /dev/null
@@ -1,91 +0,0 @@
-$NetBSD: patch-ab,v 1.5 2009/08/23 15:06:37 wiz Exp $
-
---- lsdvd.c.orig 2006-03-02 13:48:11.000000000 +0000
-+++ lsdvd.c
-@@ -13,6 +13,7 @@
- * 2003-04-19 Cleanups get_title_name, added dvdtime2msec, added helper macros,
- * output info structures in form of a Perl module, by Henk Vergonet.
- */
-+#include <stdint.h>
- #include <dvdread/ifo_read.h>
- #include <string.h>
- #include <sys/stat.h>
-@@ -131,19 +132,26 @@ int get_title_name(const char* dvd_devic
- return -1;
- }
-
-- if ( fseek(filehandle, 32808, SEEK_SET )) {
-+ if ( fseek(filehandle, 32768, SEEK_SET )) {
- fclose(filehandle);
- fprintf(stderr, "Couldn't seek in %s for title\n", dvd_device);
- strcpy(title, "unknown");
- return -1;
- }
-
-- if ( 32 != (i = fread(title, 1, 32, filehandle)) ) {
-+ {
-+ #define DVD_SEC_SIZ 2048
-+ char tempBuf[ DVD_SEC_SIZ ];
-+
-+ if ( DVD_SEC_SIZ != fread(tempBuf, 1, DVD_SEC_SIZ, filehandle) ) {
- fclose(filehandle);
- fprintf(stderr, "Couldn't read enough bytes for title.\n");
- strcpy(title, "unknown");
- return -1;
- }
-+ snprintf( title, 32, "%s", tempBuf + 40 );
-+ i=32;
-+ }
-
- fclose (filehandle);
-
-@@ -239,6 +247,7 @@ int main(int argc, char *argv[])
- int has_title = 0, ret = 0;
- int max_length = 0, max_track = 0;
- struct stat dvd_stat;
-+ struct dvd_info dvd_info;
-
- program_name = argv[0];
-
-@@ -276,6 +285,9 @@ int main(int argc, char *argv[])
- fprintf(stderr, "Can't find device %s\n", dvd_device);
- return 1;
- }
-+
-+ /* On at least NetBSD this fails if called after DVDOpen */
-+ has_title = get_title_name(dvd_device, title);
-
- dvd = DVDOpen(dvd_device);
- if( !dvd ) {
-@@ -305,12 +317,8 @@ int main(int argc, char *argv[])
- return 5;
- }
-
-- has_title = get_title_name(dvd_device, title);
--
- vmgi_mat = ifo_zero->vmgi_mat;
-
-- struct dvd_info dvd_info;
--
- dvd_info.discinfo.device = dvd_device;
- dvd_info.discinfo.disc_title = has_title ? "unknown" : title;
- dvd_info.discinfo.vmg_id = vmgi_mat->vmg_identifier;
-@@ -409,14 +417,16 @@ int main(int argc, char *argv[])
-
- cell = 0;
- if (opt_c) {
-+ int ms;
-+
- dvd_info.titles[j].chapter_count = pgc->nr_of_programs;
- dvd_info.titles[j].chapters = calloc(dvd_info.titles[j].chapter_count, sizeof(*dvd_info.titles[j].chapters));
-
-- int ms;
- for (i=0; i<pgc->nr_of_programs; i++)
- {
-+ int next;
- ms=0;
-- int next = pgc->program_map[i+1];
-+ next = pgc->program_map[i+1];
- if (i == pgc->nr_of_programs - 1) next = pgc->nr_of_cells + 1;
-
- while (cell < next - 1)