[openib-general] [PATCH 7/13] osm: port to WinIB stack : opensm/osm_ucast_file.c
Eitan Zahavi
eitan at mellanox.co.il
Sun Sep 17 08:59:32 PDT 2006
Hi Hal
1. Avoid varargs macros not supported by win
2. Some explicit casting required
3. Use stroull and not stroll
Thanks
Eitan
Signed-off-by: Eitan Zahavi <eitan at mellanox.co.il>
Index: opensm/osm_ucast_file.c
===================================================================
--- opensm/osm_ucast_file.c (revision 9502)
+++ opensm/osm_ucast_file.c (working copy)
@@ -52,18 +52,11 @@
#include <iba/ib_types.h>
#include <complib/cl_qmap.h>
+#include <complib/cl_debug.h>
#include <opensm/osm_opensm.h>
#include <opensm/osm_switch.h>
#include <opensm/osm_log.h>
-#define PARSEERR(log, file_name, lineno, fmt, arg...) \
- osm_log(log, OSM_LOG_ERROR, "PARSE ERROR: %s:%u: " fmt , \
- file_name, lineno, ##arg )
-
-#define PARSEWARN(log, file_name, lineno, fmt, arg...) \
- osm_log(log, OSM_LOG_VERBOSE, "PARSE WARN: %s:%u: " fmt , \
- file_name, lineno, ##arg )
-
static uint16_t remap_lid(osm_opensm_t *p_osm, uint16_t lid, ib_net64_t guid)
{
osm_port_t *p_port;
@@ -72,10 +65,11 @@ static uint16_t remap_lid(osm_opensm_t *
p_port = (osm_port_t *)cl_qmap_get(&p_osm->subn.port_guid_tbl, guid);
if (!p_port ||
- p_port == (osm_port_t *)cl_qmap_end(&p_osm->subn.port_guid_tbl)) {
+ p_port == (osm_port_t *)cl_qmap_end(&p_osm->subn.port_guid_tbl))
+ {
osm_log(&p_osm->log, OSM_LOG_VERBOSE,
- "remap_lid: cannot find port guid 0x%016" PRIx64
- " , will use the same lid\n", cl_ntoh64(guid));
+ "remap_lid: cannot find port guid 0x%016" PRIx64
+ " , will use the same lid\n", cl_ntoh64(guid));
return lid;
}
@@ -182,19 +176,21 @@ static int do_ucast_file_load(void *cont
"skipping parsing. Using default routing algorithm\n");
}
+
else if (!strncmp(p, "Unicast lids", 12)) {
q = strstr(p, " guid 0x");
if (!q) {
- PARSEERR(&p_osm->log, file_name, lineno,
- "cannot parse switch definition\n");
+ osm_log(&p_osm->log, OSM_LOG_ERROR, "PARSE ERROR: %s:%u:"
+ " cannot parse switch definition\n",
+ file_name, lineno);
return -1;
}
p = q + 6;
- sw_guid = strtoll(p, &q, 16);
+ sw_guid = strtoull(p, &q, 16);
if (q && !isspace(*q)) {
- PARSEERR(&p_osm->log, file_name, lineno,
- "cannot parse switch guid: \'%s\'\n",
- p);
+ osm_log(&p_osm->log, OSM_LOG_ERROR, "PARSE ERROR: %s:%u:"
+ "cannot parse switch guid: \'%s\'\n",
+ file_name, lineno, p);
return -1;
}
sw_guid = cl_hton64(sw_guid);
@@ -212,40 +208,39 @@ static int do_ucast_file_load(void *cont
}
}
else if (p_sw && !strncmp(p, "0x", 2)) {
- lid = strtoul(p, &q, 16);
+ lid = (uint16_t)strtoul(p, &q, 16);
if (q && !isspace(*q)) {
- PARSEERR(&p_osm->log, file_name, lineno,
- "cannot parse lid: \'%s\'\n", p);
+ osm_log(&p_osm->log, OSM_LOG_ERROR, "PARSE ERROR: %s:%u:"
+ "cannot parse lid: \'%s\'\n", file_name, lineno, p);
return -1;
}
p = q;
while (isspace(*p))
p++;
- port_num = strtoul(p, &q, 10);
+ port_num = (uint8_t)strtoul(p, &q, 10);
if (q && !isspace(*q)) {
- PARSEERR(&p_osm->log, file_name, lineno,
- "cannot parse port: \'%s\'\n", p);
+ osm_log(&p_osm->log, OSM_LOG_ERROR, "PARSE ERROR: %s:%u:"
+ "cannot parse port: \'%s\'\n", file_name, lineno, p);
return -1;
}
p = q;
/* additionally try to exract guid */
q = strstr(p, " portguid 0x");
if (!q) {
- PARSEWARN(&p_osm->log, file_name, lineno,
- "cannot find port guid "
- "(maybe broken dump): \'%s\'\n", p);
+ osm_log(&p_osm->log, OSM_LOG_VERBOSE, "PARSE WARNING: %s:%u:"
+ "cannot find port guid "
+ "(maybe broken dump): \'%s\'\n", file_name, lineno, p);
port_guid = 0;
}
else
{
p = q + 10;
- port_guid = strtoll(p, &q, 16);
+ port_guid = strtoull(p, &q, 16);
if (!q && !isspace(*q) && *q != ':') {
- PARSEWARN(&p_osm->log, file_name,
- lineno,
- "cannot parse port guid "
- "(maybe broken dump): "
- "\'%s\'\n", p);
+ osm_log(&p_osm->log, OSM_LOG_VERBOSE, "PARSE WARNING: %s:%u:"
+ "cannot parse port guid "
+ "(maybe broken dump): "
+ "\'%s\'\n", file_name, lineno, p);
port_guid = 0;
}
}
More information about the general
mailing list