[ofa-general] Re: [PATCH] opensm/osm_subnet.c fix parse functions for big endian machines
Sasha Khapyorsky
sashak at voltaire.com
Thu Feb 5 10:04:00 PST 2009
On 17:19 Thu 05 Feb , Eli Dorfman (Voltaire) wrote:
> fix parse functions for big endian machines
>
> Signed-off-by: Eli Dorfman <elid at voltaire.com>
Applied. Thanks.
I'm fine with this patch - the code looks cleaner than it was before.
But could you please explain what was a problem with original code on
big endian machines (I don't see)?
Also it would be helpful to have more detailed patch comments.
Sasha
> ---
> opensm/opensm/osm_subnet.c | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/opensm/opensm/osm_subnet.c b/opensm/opensm/osm_subnet.c
> index d6d39a6..7b33659 100644
> --- a/opensm/opensm/osm_subnet.c
> +++ b/opensm/opensm/osm_subnet.c
> @@ -710,14 +710,14 @@ opts_parse_net16(IN osm_subn_t *p_subn,
> IN void *p_v, IN setup_fn_t pfn)
> {
> uint16_t *p_val = p_v;
> - uint32_t val = strtoul(p_val_str, NULL, 0);
> + uint16_t val = strtoul(p_val_str, NULL, 0);
>
> CL_ASSERT(val < 0x10000);
> - if (cl_hton32(val) != *p_val) {
> + if (cl_hton16(val) != *p_val) {
> log_config_value(p_key, "0x%04x", val);
> if (pfn)
> pfn(p_subn, &val);
> - *p_val = cl_hton16((uint16_t) val);
> + *p_val = cl_hton16(val);
> }
> }
>
> @@ -729,14 +729,14 @@ opts_parse_uint8(IN osm_subn_t *p_subn,
> IN void *p_v, IN setup_fn_t pfn)
> {
> uint8_t *p_val = p_v;
> - uint32_t val = strtoul(p_val_str, NULL, 0);
> + uint8_t val = strtoul(p_val_str, NULL, 0);
>
> CL_ASSERT(val < 0x100);
> if (val != *p_val) {
> log_config_value(p_key, "%u", val);
> if (pfn)
> pfn(p_subn, &val);
> - *p_val = (uint8_t) val;
> + *p_val = val;
> }
> }
>
> --
> 1.5.5
>
More information about the general
mailing list