Ok. Patch committed now in git source. Please double check to make sure I haven't made a mistake (which as can be verified in this thread) sometimes happens.
Thanks. On Tue, Dec 30, 2008 at 11:46 AM, Adrian Reber <[email protected]> wrote: > > The commit is just missing to do the change in line 1451 like it changes > the code in 1401. In line 1401 following has been replaced: > > for ( i=0; checklist2[i].format; ++i ) { > > with > > for ( i=0; i < checklist2_size; ++i ) { > > This needs to be also done for line 1451 (my patch) to not rely on the > empty array element, which has been removed. > > Adrian > > On Tue, Dec 30, 2008 at 11:36:23AM -0500, Rocky Bernstein wrote: >> If I read this patch correctly, a change like this was already made >> Wed, 25 Jun 2008 07 and is part of the 0.81 release. See: >> >> http://git.savannah.gnu.org/gitweb/?p=libcdio.git;a=commitdiff;h=9c32ef00a00642c55dd20cfecd654616021b2f48 >> >> which has a the commit entry: >> >> sprintf's to snprintf's and check the return. >> Turn check1list and check2list looping into a fixed constant number >> of iterations >> rather than rely on a sentinal [sic]. >> >> As for help2man, I vaguely recall Yaakov Selkowitz mentioning >> something about this and/or some patches that have been applied since >> 0.81 that may alleviate some of the problem. >> >> Thanks for handling libcdio packaging on Fedora. >> >> On Tue, Dec 30, 2008 at 7:46 AM, Adrian Reber <[email protected]> wrote: >> > Hi, >> > >> > I am maintaining the libcdio RPM for Fedora and while trying to update >> > to 0.81 I discovered an error which makes it impossible to build it. >> > >> > The Fedora buildsystem is a minimal buildroot with no cdrom devices and >> > the build process goes into an endless loop because it cannot detect any >> > cdroms and when help2man tries to generate the manpages one of tools >> > (don't know which one anymore) does never end. >> > >> > Following patch fixes it for me: >> > >> > diff --git a/lib/driver/gnu_linux.c b/lib/driver/gnu_linux.c >> > index 7e2f3c4..092af0d 100644 >> > --- a/lib/driver/gnu_linux.c >> > +++ b/lib/driver/gnu_linux.c >> > @@ -1448,7 +1448,7 @@ cdio_get_default_device_linux(void) >> > /* Scan the system for CD-ROM drives. >> > Not always 100% reliable, so use the USE_MNTENT code above first. >> > */ >> > - for ( i=0; checklist2[i].format; ++i ) { >> > + for ( i=0; i < checklist2_size; ++i ) { >> > unsigned int j; >> > for ( j=checklist2[i].num_min; j<=checklist2[i].num_max; ++j ) { >> > if (snprintf(drive, sizeof(drive), checklist2[i].format, j) < 0) >> > >> > It seems this code part still looks for an empty element at the end of >> > the checklist2 array which does not exist anymore. >> > >> > If there is not something really wrong with my patch I will apply it for >> > the Fedora libcdio 0.81 package. >> > >> > Adrian >> > >> > >> > >> > > Adrian > > -- > Adrian Reber <[email protected]> http://lisas.de/~adrian/ > Someone is standing on the ethernet cable, causeing a kink in the cable > > >
