[PATCH] actually have udev run files ending in .dev in the /etc/dev.d/ directory as documented.

This commit is contained in:
greg@kroah.com 2004-03-24 23:31:04 -08:00 committed by Greg KH
parent f61d732a02
commit 1f5caf43c8

11
dev_d.c
View file

@ -36,6 +36,7 @@
#include "logging.h"
#define HOTPLUGDIR "/etc/dev.d"
#define SUFFIX ".dev"
#define COMMENT_PREFIX '#'
static void run_program(char *name)
@ -64,7 +65,8 @@ static void execute_dir (char *dirname)
{
DIR *directory;
struct dirent *entry;
char filename[256];
char filename[NAME_SIZE];
int name_len;
dbg("opening %s", dirname);
directory = opendir(dirname);
@ -80,6 +82,13 @@ static void execute_dir (char *dirname)
(entry->d_name[0] == COMMENT_PREFIX))
continue;
/* Nor do we run files that do not end in ".dev" */
name_len = strlen(entry->d_name);
if (name_len < strlen(SUFFIX))
continue;
if (strcmp(&entry->d_name[name_len - sizeof (SUFFIX) + 1], SUFFIX) != 0)
continue;
/* FIXME - need to use file_list_insert() here to run these in sorted order... */
snprintf(filename, sizeof(filename), "%s%s", dirname, entry->d_name);
filename[sizeof(filename)-1] = '\0';