chiark / gitweb /
[PATCH] make udevsend binary even smaller
[elogind.git] / namedev_parse.c
index a17c02e395d8054d4cd42a25316ca03fb1a8af9d..e6575fa108431958e33d0a283b2c7bd20935f4ba 100644 (file)
@@ -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 */
@@ -120,7 +85,6 @@ void dump_perm_dev_list(void)
                dump_perm_dev(dev);
 }
 
-
 int namedev_init_rules(void)
 {
        char line[255];
@@ -167,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;
 
@@ -324,7 +288,7 @@ int namedev_init_permissions(void)
                        dbg("cannot parse line '%s'", line);
                        continue;
                }
-               strncpy(dev.group, temp2, sizeof(dev.owner));
+               strncpy(dev.group, temp2, sizeof(dev.group));
 
                if (!temp) {
                        dbg("cannot parse line: %s", line);
@@ -345,6 +309,5 @@ int namedev_init_permissions(void)
 exit:
        fclose(fd);
        return retval;
-}      
-
+}