Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: Problems with exit-states (VDR-1.2.2)



Rene Bartsch wrote:
> 
> Am Mit, 2003-08-27 um 13.09 schrieb Klaus Schmidinger:
> 
> >
> > However, I can't see anything wrong with quotes or backslashes, so I
> > take that remark ("Just because one user has trouble using quotes...")
> > back and apologize.
> >
> > I'll see if I can do some debugging tonight to check whether there is
> > a bug in parsing this line.
> >
> > Are you sure that both the "mp3" and the "mplayer" plugin recognize
> > the option "--mount"?
> >
> 
> That's quite strange. The options "-B" or "--cddb" are never accepted,
> "-m" for mount works everytime and "--mount" works sometimes. There's no
> real rule, but it seems to be related to having several plugins with at
> least two options in command-line.
> 
> If I remove mp3 from command-line, it's mplayer-plugin. After
> mplayer-plugin it's remote-plugin, ...
> 
> It also seems the short options (e.g. "-m") work most times, while the
> long options (e.g. "--mount=" are denied nearly every time).

I did a lot of testing now, with several plugins that provide long options,
but was unable to create a case where an error as reported by you would have
happened.

Could you please apply the following patch to a plain vanilla VDR 1.2.4
version and do a test where the error happens? Then please send me the
resulting output.

I did see one thing that's not correct: if the command line for a plugin
contains trailing blanks, each of those results in an additional, empty
argv[] entry. However, I don't believe that this could be what's causing
your problem.

Klaus

--- vdr.c       2003/08/24 11:18:04     1.166
+++ vdr.c       2003/08/30 13:58:47
@@ -81,6 +81,10 @@
 {
   // Save terminal settings:

+  fprintf(stderr, "vdr: argc = %d\n", argc);
+  for (int i = 0; i < argc; i++)
+      fprintf(stderr, "  '%s'\n", argv[i]);
+
   struct termios savedTm;
   bool HasStdin = (tcgetpgrp(STDIN_FILENO) == getpid() || getppid() != (pid_t)1) && tcgetattr(STDIN_FILENO, &savedTm) == 0;

--- plugin.c    2003/05/09 15:01:26     1.9
+++ plugin.c    2003/08/30 13:57:48
@@ -212,6 +212,9 @@
         if (argc)
            plugin->SetName(argv[0]);
         optind = 0; // to reset the getopt() data
+        fprintf(stderr, "plugin: '%s'  argc = %d\n", plugin->Name(), argc);
+        for (int i = 0; i < argc; i++)
+            fprintf(stderr, "  '%s'\n", argv[i]);
         return !argc || plugin->ProcessArgs(argc, argv);
         }
      }


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index