[PATCH] move get_pair to udev_config.c because udevinfo doesn't need all of namedev.o
This commit is contained in:
parent
1f6d07b9a5
commit
274812b502
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* Userspace devfs
|
* Userspace devfs
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
|
* Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
@ -91,6 +91,4 @@ extern void dump_config_dev_list(void);
|
||||||
extern void dump_perm_dev(struct perm_device *dev);
|
extern void dump_perm_dev(struct perm_device *dev);
|
||||||
extern void dump_perm_dev_list(void);
|
extern void dump_perm_dev_list(void);
|
||||||
|
|
||||||
extern int get_pair(char **orig_string, char **left, char **right);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* Userspace devfs
|
* Userspace devfs
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
|
* Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
@ -52,41 +52,6 @@ static int add_config_dev(struct config_device *new_dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int get_pair(char **orig_string, char **left, char **right)
|
|
||||||
{
|
|
||||||
char *temp;
|
|
||||||
char *string = *orig_string;
|
|
||||||
|
|
||||||
if (!string)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
/* eat any whitespace */
|
|
||||||
while (isspace(*string) || *string == ',')
|
|
||||||
++string;
|
|
||||||
|
|
||||||
/* split based on '=' */
|
|
||||||
temp = strsep(&string, "=");
|
|
||||||
*left = temp;
|
|
||||||
if (!string)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
/* take the right side and strip off the '"' */
|
|
||||||
while (isspace(*string))
|
|
||||||
++string;
|
|
||||||
if (*string == '"')
|
|
||||||
++string;
|
|
||||||
else
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
temp = strsep(&string, "\"");
|
|
||||||
if (!string || *temp == '\0')
|
|
||||||
return -ENODEV;
|
|
||||||
*right = temp;
|
|
||||||
*orig_string = string;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void dump_config_dev(struct config_device *dev)
|
void dump_config_dev(struct config_device *dev)
|
||||||
{
|
{
|
||||||
/*FIXME dump all sysfs's */
|
/*FIXME dump all sysfs's */
|
||||||
|
@ -166,7 +131,7 @@ int namedev_init_rules(void)
|
||||||
|
|
||||||
/* get all known keys */
|
/* get all known keys */
|
||||||
while (1) {
|
while (1) {
|
||||||
retval = get_pair(&temp, &temp2, &temp3);
|
retval = parse_get_pair(&temp, &temp2, &temp3);
|
||||||
if (retval)
|
if (retval)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
1
udev.h
1
udev.h
|
@ -59,6 +59,7 @@ do { \
|
||||||
extern int udev_add_device(char *path, char *subsystem);
|
extern int udev_add_device(char *path, char *subsystem);
|
||||||
extern int udev_remove_device(char *path, char *subsystem);
|
extern int udev_remove_device(char *path, char *subsystem);
|
||||||
extern void udev_init_config(void);
|
extern void udev_init_config(void);
|
||||||
|
extern int parse_get_pair(char **orig_string, char **left, char **right);
|
||||||
|
|
||||||
extern char **main_argv;
|
extern char **main_argv;
|
||||||
extern char **main_envp;
|
extern char **main_envp;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* Userspace devfs
|
* Userspace devfs
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
|
* Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
@ -68,6 +68,41 @@ static void init_variables(void)
|
||||||
strncpy(_var, value, sizeof(_var)); \
|
strncpy(_var, value, sizeof(_var)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int parse_get_pair(char **orig_string, char **left, char **right)
|
||||||
|
{
|
||||||
|
char *temp;
|
||||||
|
char *string = *orig_string;
|
||||||
|
|
||||||
|
if (!string)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
/* eat any whitespace */
|
||||||
|
while (isspace(*string) || *string == ',')
|
||||||
|
++string;
|
||||||
|
|
||||||
|
/* split based on '=' */
|
||||||
|
temp = strsep(&string, "=");
|
||||||
|
*left = temp;
|
||||||
|
if (!string)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
/* take the right side and strip off the '"' */
|
||||||
|
while (isspace(*string))
|
||||||
|
++string;
|
||||||
|
if (*string == '"')
|
||||||
|
++string;
|
||||||
|
else
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
temp = strsep(&string, "\"");
|
||||||
|
if (!string || *temp == '\0')
|
||||||
|
return -ENODEV;
|
||||||
|
*right = temp;
|
||||||
|
*orig_string = string;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int parse_config_file(void)
|
static int parse_config_file(void)
|
||||||
{
|
{
|
||||||
char line[255];
|
char line[255];
|
||||||
|
@ -108,7 +143,7 @@ static int parse_config_file(void)
|
||||||
if (*temp == COMMENT_CHARACTER)
|
if (*temp == COMMENT_CHARACTER)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
retval = get_pair(&temp, &variable, &value);
|
retval = parse_get_pair(&temp, &variable, &value);
|
||||||
if (retval)
|
if (retval)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue