christos@ wrote: > Yes be16enc() should work just fine, I think.
Then why don't you guys also complain to fix existing abcksum() function which is called at the suggested memcpy? --- /* set AHDI checksum */ sum = 0; memcpy(bb->bb_xxboot + 255 * sizeof(sum), &sum, sizeof(sum)); sum = 0x1234 - abcksum(bb->bb_xxboot); memcpy(bb->bb_xxboot + 255 * sizeof(sum), &sum, sizeof(sum)); : static u_int abcksum (void *bs) { u_int16_t sum = 0, *st = (u_int16_t *)bs, *end = (u_int16_t *)bs + 256; while (st < end) sum += *st++; return(sum); } --- I think the "correct" fix is to redefine a boot block structures as a union of existing struct bootblock and uint16_t array in <sys/bootblock.h>, but it would be done when we will merge it into MI installboot. Fixing only a visible part you are shown in a patch to appease compiler makes no sense even for correctness. --- Izumi Tsutsui