chiark / gitweb /
move some info() to dbg()
[elogind.git] / udev / lib / libudev-util.c
index 55bac9a476c18d6273c90daf014a2ac9be6a69bc..9353e8eda792ef2bf9a85ebfd607d84c6ef0fc7c 100644 (file)
@@ -31,7 +31,7 @@
 #include "libudev.h"
 #include "libudev-private.h"
 
-static ssize_t get_sys_link(struct udev *udev, const char *slink, const char *syspath, char *subsystem, size_t size)
+static ssize_t get_sys_link(struct udev *udev, const char *slink, const char *syspath, char *value, size_t size)
 {
        char path[UTIL_PATH_SIZE];
        ssize_t len;
@@ -48,8 +48,8 @@ static ssize_t get_sys_link(struct udev *udev, const char *slink, const char *sy
        if (pos == NULL)
                return -1;
        pos = &pos[1];
-       info(udev, "resolved link to: '%s'\n", pos);
-       return util_strlcpy(subsystem, pos, size);
+       dbg(udev, "resolved link to: '%s'\n", pos);
+       return util_strlcpy(value, pos, size);
 }
 
 ssize_t util_get_sys_subsystem(struct udev *udev, const char *syspath, char *subsystem, size_t size)
@@ -114,7 +114,6 @@ size_t util_path_encode(char *s, size_t len)
        char t[(len * 3)+1];
        size_t i, j;
 
-       t[0] = '\0';
        for (i = 0, j = 0; s[i] != '\0'; i++) {
                if (s[i] == '/') {
                        memcpy(&t[j], "\\x2f", 4);
@@ -127,8 +126,11 @@ size_t util_path_encode(char *s, size_t len)
                        j++;
                }
        }
-       t[j] = '\0';
-       strncpy(s, t, len);
+       if (len == 0)
+               return j;
+       i = (j < len - 1) ? j : len - 1;
+       memcpy(s, t, i);
+       s[i] = '\0';
        return j;
 }