chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f61d732
)
[PATCH] actually have udev run files ending in .dev in the /etc/dev.d/ directory...
author
greg@kroah.com
<greg@kroah.com>
Thu, 25 Mar 2004 07:31:04 +0000
(23:31 -0800)
committer
Greg KH
<gregkh@suse.de>
Wed, 27 Apr 2005 04:35:12 +0000
(21:35 -0700)
dev_d.c
patch
|
blob
|
history
diff --git
a/dev_d.c
b/dev_d.c
index 36bee33bd9fbe1e049e4d0b97e5c5d280b2d2a42..9412c3da772950bdc195811052c294338bc44f89 100644
(file)
--- a/
dev_d.c
+++ b/
dev_d.c
@@
-36,6
+36,7
@@
#include "logging.h"
#define HOTPLUGDIR "/etc/dev.d"
#include "logging.h"
#define HOTPLUGDIR "/etc/dev.d"
+#define SUFFIX ".dev"
#define COMMENT_PREFIX '#'
static void run_program(char *name)
#define COMMENT_PREFIX '#'
static void run_program(char *name)
@@
-64,7
+65,8
@@
static void execute_dir (char *dirname)
{
DIR *directory;
struct dirent *entry;
{
DIR *directory;
struct dirent *entry;
- char filename[256];
+ char filename[NAME_SIZE];
+ int name_len;
dbg("opening %s", dirname);
directory = opendir(dirname);
dbg("opening %s", dirname);
directory = opendir(dirname);
@@
-80,6
+82,13
@@
static void execute_dir (char *dirname)
(entry->d_name[0] == COMMENT_PREFIX))
continue;
(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';
/* 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';