summaryrefslogtreecommitdiff
path: root/udevinfo.c
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-11-12 06:20:22 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 22:24:38 -0700
commitaf4b05d4917fdfa55eff3d8d53a830464d8162a1 (patch)
tree352f8b4180c9be6f848c7f69517783b7912c42d3 /udevinfo.c
parent13f24d596c5638443ffc7bc48c10a66758335c74 (diff)
[PATCH] make the udev object available to more processing stages
Remove the overwriting of main_argv[] hack and use the values from the udev object. Pass the udev object to call_foreach_file(). In the udevstart case, export SUBSYSTEM and UDEVSTART to the environment.
Diffstat (limited to 'udevinfo.c')
-rw-r--r--udevinfo.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/udevinfo.c b/udevinfo.c
index 290a09e880..1148272743 100644
--- a/udevinfo.c
+++ b/udevinfo.c
@@ -36,10 +36,7 @@
#include "udevdb.h"
-# define SYSFS_VALUE_MAX 200
-
-char **main_argv;
-int main_argc;
+#define SYSFS_VALUE_SIZE 256
#ifdef LOG
unsigned char logname[LOGNAME_SIZE];
@@ -58,7 +55,7 @@ static int print_all_attributes(const char *path)
struct dlist *attributes;
struct sysfs_attribute *attr;
struct sysfs_directory *sysfs_dir;
- char value[SYSFS_VALUE_MAX];
+ char value[SYSFS_VALUE_SIZE];
int len;
int retval = 0;
@@ -257,7 +254,7 @@ static int print_sysfs_devices(void)
return 0;
}
-static int process_options(void)
+static int process_options(int argc, char *argv[])
{
static const char short_options[] = "adn:p:q:rsVh";
int option;
@@ -274,7 +271,7 @@ static int process_options(void)
/* get command line options */
while (1) {
- option = getopt(main_argc, main_argv, short_options);
+ option = getopt(argc, argv, short_options);
if (option == -1)
break;
@@ -479,15 +476,12 @@ int main(int argc, char *argv[], char *envp[])
{
int rc = 0;
- main_argv = argv;
- main_argc = argc;
-
logging_init("udevinfo");
/* initialize our configuration */
udev_init_config();
- rc = process_options();
+ rc = process_options(argc, argv);
logging_close();
exit(rc);