chiark / gitweb /
writing udev rules: fix rule typos
[elogind.git] / udev_db.c
index abc1e5ad5a98b80948cbdb7cd3c95b2ac37d1108..518ace9a5d9822c5e1f7bfb6e9bc70adcbae1f80 100644 (file)
--- a/udev_db.c
+++ b/udev_db.c
@@ -37,7 +37,7 @@ static size_t devpath_to_db_path(const char *devpath, char *filename, size_t len
 {
        size_t start;
 
-       /* add location of db files */
+       /* translate to location of db file */
        strlcpy(filename, udev_root, len);
        start = strlcat(filename, "/"DB_DIR"/", len);
        strlcat(filename, devpath, len);
@@ -117,6 +117,16 @@ out:
        return rc;
 }
 
+int udev_db_rename(const char *devpath_old, const char *devpath)
+{
+       char filename[PATH_SIZE];
+       char filename_old[PATH_SIZE];
+
+       devpath_to_db_path(devpath_old, filename_old, sizeof(filename_old));
+       devpath_to_db_path(devpath, filename, sizeof(filename));
+       return rename(filename_old, filename);
+}
+
 int udev_db_add_device(struct udevice *udev)
 {
        char filename[PATH_SIZE];