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 <[EMAIL PROTECTED]>
> 
> 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
> [email protected]
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to