On 2010-12-02 18:24, Jim Rees wrote: > Benny Halevy wrote: > > Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx> > --- > > How about this? > > Benny > > utils/blkmapd/device-process.c | 14 ++++++++++---- > 1 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/utils/blkmapd/device-process.c b/utils/blkmapd/device-process.c > index 0c5060b..0584bf9 100644 > --- a/utils/blkmapd/device-process.c > +++ b/utils/blkmapd/device-process.c > @@ -52,11 +52,17 @@ > static char *pretty_sig(char *sig, uint32_t siglen) > { > static char rs[100]; > - unsigned long i = 0; > + uint64_t sigval; > > - if (siglen <= sizeof i) { > - memcpy(&i, sig, siglen); > - sprintf(rs, "0x%0lx", i); > + if (siglen <= sizeof(sigval)) { > + int i; > + > + sigval = 0; > + for (i = 0; i < siglen; i++) { > + sigval <<= 8; > + sigval += ((unsigned char *)sig)[i]; > + } > + sprintf(rs, "0x%0llx", sigval); > } else { > if (siglen > sizeof rs - 1) > siglen = sizeof rs - 1; > > I would prefer to print it as little-endian, since that's how it's supplied > by the EMC server. Like this? diff --git a/utils/blkmapd/device-process.c b/utils/blkmapd/device-process.c index ea8b8ec..0d8705f 100644 --- a/utils/blkmapd/device-process.c +++ b/utils/blkmapd/device-process.c @@ -58,10 +58,8 @@ static char *pretty_sig(char *sig, uint32_t siglen) int i; sigval = 0; - for (i = 0; i < siglen; i++) { - sigval <<= 8; - sigval += ((unsigned char *)sig)[i]; - } + for (i = 0; i < siglen; i++) + sigval |= ((unsigned char *)sig)[i] << (i * 8); sprintf(rs, "0x%0llx", sigval); } else { if (siglen > sizeof rs - 4) { -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html