+ char serial[256];
+
+ strlcpy(serial, vendor_str, sizeof(serial));
+ strlcat(serial, "_", sizeof(serial));
+ strlcat(serial, model_str, sizeof(serial));
+ if (serial_str[0] != '\0') {
+ strlcat(serial, "_", sizeof(serial));
+ strlcat(serial, serial_str, sizeof(serial));
+ }
+ if (instance_str[0] != '\0') {
+ strlcat(serial, "-", sizeof(serial));
+ strlcat(serial, instance_str, sizeof(serial));
+ }
+