reverse.c 764 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*====================================================================*
  2. *
  3. * void reverse (void * memory, size_t extent);
  4. *
  5. * reverse the order of bytes in a multi-byte memory region;
  6. *
  7. * Motley Tools by Charles Maier;
  8. * Copyright (c) 2001-2006 by Charles Maier Associates;
  9. * Licensed under the Internet Software Consortium License;
  10. *
  11. *--------------------------------------------------------------------*/
  12. #ifndef REVERSE_SOURCE
  13. #define REVERSE_SOURCE
  14. #include "../tools/memory.h"
  15. void reverse (void * memory, size_t extent)
  16. {
  17. register byte * first = (byte *) (memory);
  18. register byte * final = first + extent;
  19. while (first < final)
  20. {
  21. register byte byte = * first;
  22. * first++ = * -- final;
  23. * final = byte;
  24. }
  25. return;
  26. }
  27. #endif