vdr 2.1.2 segfaults in libc using vdr --genindex
Commit Message
On 02.12.2013 20:31, Lou wrote:
> Am 02.12.2013, 17:59 Uhr, schrieb Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>:
>
>>>
>>> I guess this was caused by the changes to videodir.[ch].
>>> For a quick fix you could try moving the line
>>>
>>> cVideoDirectory::SetName(VideoDirectory);
>>>
>>> into the
>>>
>>> case 'v': VideoDirectory = optarg;
>>> while (optarg && *optarg && optarg[strlen(optarg) - 1] == '/')
>>> optarg[strlen(optarg) - 1] = 0;
>>> cVideoDirectory::SetName(VideoDirectory); // <----- here!
>>> break;
>>>
>>> in vdr.c
>>
>> Oh, and use the option '-v'...
>> This is just a quick hack - I'll need to give this more thought.
>>
>> Klaus
>
> Thanks Klaus, this fixes things temporarily, but I agree it's annoying to set --video as well. Especially since you also have to remember setting --video first, THEN call --genindex. If you have it the wrong way around, it will segfault again ...
This should do it:
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
I'll need your full name if you want to be listed in the HISTORY/CONTRIBUTORS files.
Klaus
@@ -223,6 +223,7 @@
VdrUser = VDR_USER;
#endif
+ cVideoDirectory::SetName(VideoDirectory);
cPluginManager PluginManager(DEFAULTPLUGINDIR);
static struct option long_options[] = {
@@ -443,6 +444,7 @@
case 'v': VideoDirectory = optarg;
while (optarg && *optarg && optarg[strlen(optarg) - 1] == '/')
optarg[strlen(optarg) - 1] = 0;
+ cVideoDirectory::SetName(VideoDirectory);
break;
case 'w': if (isnumber(optarg)) {
int t = atoi(optarg);
@@ -663,7 +665,6 @@
// Directories:
- cVideoDirectory::SetName(VideoDirectory);
if (!ConfigDirectory)
ConfigDirectory = DEFAULTCONFDIR;
cPlugin::SetConfigDirectory(ConfigDirectory);