[openib-general] [PATCH] osm: port to WinIB stack - 64 bits
Sasha Khapyorsky
sashak at voltaire.com
Sun Oct 15 08:06:49 PDT 2006
Hi Evgeny,
On 16:31 Sun 15 Oct , Yevgeny Kliteynik wrote:
> Hi Hal
>
> This patch fixes a few data type problems with OSM on
> 64-bit Windows machines.
Could you explain what those problems are?
Sasha
> The changes are done in the following files:
>
> opensm/osm_prtn_config.c
> opensm/osm_pkey.c
> opensm/osm_qos.c
>
> Note that the casting is done on the calculation result,
> wich is string lenght, index in table, or index in string,
> so it's ok to 'downcast' the value.
>
> The patch is for trunk only.
>
> Yevgeny
>
> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
>
> Index: opensm/osm_prtn_config.c
> ===================================================================
> --- opensm/osm_prtn_config.c (revision 9820)
> +++ opensm/osm_prtn_config.c (working copy)
> @@ -254,7 +254,7 @@ static int parse_name_token(char *str, c
> p++;
>
> q = p + strlen(p);
> - len += q - str + 1;
> + len += (int)(q - str) + 1;
> while ( q != p &&
> ( *q == '\0' || *q == ' ' || *q == '\t' || *q == '\n'))
> *q-- = '\0';
> @@ -293,7 +293,7 @@ static int parse_part_conf(struct part_c
> if (*p == '\t' || *p == '\0' || *p == '\n')
> p++;
>
> - len += p - str;
> + len += (int)(p - str);
> str = p;
>
> if (conf->p_prtn)
> Index: opensm/osm_pkey.c
> ===================================================================
> --- opensm/osm_pkey.c (revision 9820)
> +++ opensm/osm_pkey.c (working copy)
> @@ -297,7 +297,7 @@ osm_pkey_tbl_get_block_and_idx(
> (p_pkey < block->pkey_entry + IB_NUM_PKEY_ELEMENTS_IN_BLOCK))
> {
> *p_block_idx = block_index;
> - *p_pkey_idx = p_pkey - block->pkey_entry;
> + *p_pkey_idx = (uint8_t)(p_pkey - block->pkey_entry);
> return(IB_SUCCESS);
> }
> }
> Index: opensm/osm_qos.c
> ===================================================================
> --- opensm/osm_qos.c (revision 9820)
> +++ opensm/osm_qos.c (working copy)
> @@ -399,7 +399,7 @@ static int parse_one_unsigned(char *str,
> *val = strtoul(str, &end, 0);
> if (*end)
> end++;
> - return end - str;
> + return (int)(end - str);
> }
>
> static int parse_vlarb_entry(char *str, ib_vl_arb_element_t * e)
> @@ -410,7 +410,7 @@ static int parse_vlarb_entry(char *str,
> e->vl = val % 15;
> p += parse_one_unsigned(p, ',', &val);
> e->weight = (uint8_t)val;
> - return p - str;
> + return (int)(p - str);
> }
>
> static int parse_sl2vl_entry(char *str, uint8_t * raw)
> @@ -420,7 +420,7 @@ static int parse_sl2vl_entry(char *str,
> p += parse_one_unsigned(p, ',', &val1);
> p += parse_one_unsigned(p, ',', &val2);
> *raw = (val1 << 4) | (val2 & 0xf);
> - return p - str;
> + return (int)(p - str);
> }
>
> static void qos_build_config(struct qos_config *cfg,
>
>
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>
More information about the general
mailing list