From 4e24b6e2657e94c12a8044a46344d11b38546de5 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 12 Feb 2024 17:14:33 +0100 Subject: [PATCH] pw-link: improve port and node names don't leave the port and node names blank but fill in some defaults that include the node/port id. --- src/tools/pw-link.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/src/tools/pw-link.c b/src/tools/pw-link.c index 78b0d5680..47396c17e 100644 --- a/src/tools/pw-link.c +++ b/src/tools/pw-link.c @@ -147,8 +147,9 @@ static char *node_name(char *buffer, int size, struct object *n) const char *name; buffer[0] = '\0'; if ((name = pw_properties_get(n->props, PW_KEY_NODE_NAME)) == NULL) - return buffer; - snprintf(buffer, size, "%s", name); + snprintf(buffer, size, "node.id.%d", n->id); + else + snprintf(buffer, size, "%s", name); return buffer; } @@ -157,8 +158,9 @@ static char *node_path(char *buffer, int size, struct object *n) const char *name; buffer[0] = '\0'; if ((name = pw_properties_get(n->props, PW_KEY_OBJECT_PATH)) == NULL) - return buffer; - snprintf(buffer, size, "%s", name); + snprintf(buffer, size, "node.path.%d", n->id); + else + snprintf(buffer, size, "%s", name); return buffer; } @@ -166,11 +168,16 @@ static char *port_name(char *buffer, int size, struct object *n, struct object * { const char *name1, *name2; buffer[0] = '\0'; - if ((name1 = pw_properties_get(n->props, PW_KEY_NODE_NAME)) == NULL) - return buffer; - if ((name2 = pw_properties_get(p->props, PW_KEY_PORT_NAME)) == NULL) - return buffer; - snprintf(buffer, size, "%s:%s", name1, name2); + name1 = pw_properties_get(n->props, PW_KEY_NODE_NAME); + name2 = pw_properties_get(p->props, PW_KEY_PORT_NAME); + if (name1 && name2) + snprintf(buffer, size, "%s:%s", name1, name2); + else if (name1) + snprintf(buffer, size, "%s:port.id.%d", name1, p->id); + else if (name2) + snprintf(buffer, size, "node.id.%d:%s", n->id, name2); + else + snprintf(buffer, size, "node.id.%d:port.id.%d", n->id, p->id); return buffer; } @@ -179,8 +186,9 @@ static char *port_path(char *buffer, int size, struct object *n, struct object * const char *name; buffer[0] = '\0'; if ((name = pw_properties_get(p->props, PW_KEY_OBJECT_PATH)) == NULL) - return buffer; - snprintf(buffer, size, "%s", name); + snprintf(buffer, size, "port.path.%d", p->id); + else + snprintf(buffer, size, "%s", name); return buffer; } @@ -189,8 +197,9 @@ static char *port_alias(char *buffer, int size, struct object *n, struct object const char *name; buffer[0] = '\0'; if ((name = pw_properties_get(p->props, PW_KEY_PORT_ALIAS)) == NULL) - return buffer; - snprintf(buffer, size, "%s", name); + snprintf(buffer, size, "port_alias.%d", p->id); + else + snprintf(buffer, size, "%s", name); return buffer; }