diff --git a/src/pmc/structview.pmc b/src/pmc/structview.pmc
index dbfe792..4f2af2c 100644
|
a
|
b
|
|
| 511 | 511 | break; |
| 512 | 512 | } |
| 513 | 513 | |
| 514 | | #if PARROT_BIGENDIAN |
| 515 | | Parrot_ex_throw_from_c_args(INTERP, NULL, 0, |
| 516 | | "Unaligned access not yet implemented for big-endian systems"); |
| 517 | | #else |
| 518 | 514 | /* fetch hi bits of first byte */ |
| 519 | 515 | acc = *cptr++ >> elts[i].bit_offset; |
| 520 | 516 | n = 8 - elts[i].bit_offset; |
| … |
… |
|
| 527 | 523 | |
| 528 | 524 | /* mask off hi bits of last byte */ |
| 529 | 525 | acc &= (~(UINTVAL)0) >> (sizeof (UINTVAL) * 8 - bits); |
| 530 | | #endif |
| 531 | 526 | |
| 532 | 527 | return acc; |
| 533 | 528 | } |
| … |
… |
|
| 591 | 586 | break; |
| 592 | 587 | } |
| 593 | 588 | |
| 594 | | #if PARROT_BIGENDIAN |
| 595 | | Parrot_ex_throw_from_c_args(INTERP, NULL, 0, |
| 596 | | "Unaligned write not yet implemented for big-endian systems"); |
| 597 | | #else |
| 598 | 589 | /* cache last byte (for restoring hi bits) */ |
| 599 | 590 | tempc = cptr[(bits + elts[i].bit_offset)/8]; |
| 600 | 591 | |
| … |
… |
|
| 614 | 605 | n = 8 - (n - bits); /* how many bits of last byte we should have written */ |
| 615 | 606 | *cptr &= (1 << n) - 1; |
| 616 | 607 | *cptr |= tempc & ~((1 << n) - 1); |
| 617 | | #endif |
| 618 | 608 | } |
| 619 | 609 | break; |
| 620 | 610 | default: |