1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

The -V and -h options now list the plugins in alphabetical order

This commit is contained in:
Klaus Schmidinger 2015-04-18 14:55:16 +02:00
parent fa701228d7
commit 165aa63d2e
3 changed files with 21 additions and 18 deletions

View File

@ -3352,6 +3352,7 @@ Dietmar Spingler <d_spingler@gmx.de>
CAMs that need to receive the TS CAMs that need to receive the TS
for suggesting to add the channel name to log messages that reference a channel for suggesting to add the channel name to log messages that reference a channel
for suggesting to provide a way of using no DVB devices at all for suggesting to provide a way of using no DVB devices at all
for suggesting that the -V and -h options should list the plugins in alphabetical order
Stefan Schallenberg <infos@nafets.de> Stefan Schallenberg <infos@nafets.de>
for adding the functions IndexOf(), InsertUnique(), AppendUnique() and RemoveElement() for adding the functions IndexOf(), InsertUnique(), AppendUnique() and RemoveElement()

View File

@ -8633,3 +8633,5 @@ Video Disk Recorder Revision History
by time. by time.
- The command line option -D now accepts the value '-' (as in -D-), which prevents - The command line option -D now accepts the value '-' (as in -D-), which prevents
VDR from using any DVB devices (suggested by Dietmar Spingler). VDR from using any DVB devices (suggested by Dietmar Spingler).
- The -V and -h options now list the plugins in alphabetical order (suggested by
Dietmar Spingler).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: plugin.c 2.4 2012/09/01 13:10:27 kls Exp $ * $Id: plugin.c 4.1 2015/04/18 14:51:20 kls Exp $
*/ */
#include "plugin.h" #include "plugin.h"
@ -318,18 +318,18 @@ void cPluginManager::SetDirectory(const char *Directory)
void cPluginManager::AddPlugin(const char *Args) void cPluginManager::AddPlugin(const char *Args)
{ {
if (strcmp(Args, "*") == 0) { if (strcmp(Args, "*") == 0) {
cReadDir d(directory); cFileNameList Files(directory);
struct dirent *e; for (int i = 0; i < Files.Size(); i++) {
while ((e = d.Next()) != NULL) { char *FileName = Files.At(i);
if (strstr(e->d_name, LIBVDR_PREFIX) == e->d_name) { if (strstr(FileName, LIBVDR_PREFIX) == FileName) {
char *p = strstr(e->d_name, SO_INDICATOR); char *p = strstr(FileName, SO_INDICATOR);
if (p) { if (p) {
*p = 0; *p = 0;
p += strlen(SO_INDICATOR); p += strlen(SO_INDICATOR);
if (strcmp(p, APIVERSION) == 0) { if (strcmp(p, APIVERSION) == 0) {
char *name = e->d_name + strlen(LIBVDR_PREFIX); char *name = FileName + strlen(LIBVDR_PREFIX);
if (strcmp(name, "*") != 0) { // let's not get into a loop! if (strcmp(name, "*") != 0) { // let's not get into a loop!
AddPlugin(e->d_name + strlen(LIBVDR_PREFIX)); AddPlugin(FileName + strlen(LIBVDR_PREFIX));
} }
} }
} }