mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
[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
|
||||
*
|
||||
* 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
|
||||
* 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_list(void);
|
||||
|
||||
extern int get_pair(char **orig_string, char **left, char **right);
|
||||
|
||||
#endif
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* 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
|
||||
@ -52,41 +52,6 @@ static int add_config_dev(struct config_device *new_dev)
|
||||
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)
|
||||
{
|
||||
/*FIXME dump all sysfs's */
|
||||
@ -166,7 +131,7 @@ int namedev_init_rules(void)
|
||||
|
||||
/* get all known keys */
|
||||
while (1) {
|
||||
retval = get_pair(&temp, &temp2, &temp3);
|
||||
retval = parse_get_pair(&temp, &temp2, &temp3);
|
||||
if (retval)
|
||||
break;
|
||||
|
||||
|
1
udev.h
1
udev.h
@ -59,6 +59,7 @@ do { \
|
||||
extern int udev_add_device(char *path, char *subsystem);
|
||||
extern int udev_remove_device(char *path, char *subsystem);
|
||||
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_envp;
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* 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
|
||||
@ -68,6 +68,41 @@ static void init_variables(void)
|
||||
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)
|
||||
{
|
||||
char line[255];
|
||||
@ -108,7 +143,7 @@ static int parse_config_file(void)
|
||||
if (*temp == COMMENT_CHARACTER)
|
||||
continue;
|
||||
|
||||
retval = get_pair(&temp, &variable, &value);
|
||||
retval = parse_get_pair(&temp, &variable, &value);
|
||||
if (retval)
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user