[PATCH] move get_pair to udev_config.c because udevinfo doesn't need all of namedev.o

This commit is contained in:
greg@kroah.com 2004-01-26 19:21:58 -08:00 committed by Greg KH
parent 1f6d07b9a5
commit 274812b502
4 changed files with 41 additions and 42 deletions

View file

@ -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

View file

@ -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
View file

@ -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;

View file

@ -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;