+
+ /* remember the SUBSYSTEM */
+ if (strncmp(key, "SUBSYSTEM=", 10) == 0)
+ subsystem = &key[10];
+
+ dbg("add '%s' to env[%i] buffer", key, i);
+ strcpy(&usend_msg.envbuf[bufpos], key);
+ bufpos += keylen + 1;
+ }
+
+ usend_msg_len = offsetof(struct udevd_msg, envbuf) + bufpos;
+ dbg("usend_msg_len=%i", usend_msg_len);
+
+ if (sendto(sock, &usend_msg, usend_msg_len, 0, (struct sockaddr *)&saddr, addrlen) < 0) {
+ retval = 3;
+ err("error sending message: %s", strerror(errno));