/*====================================================================*
*
* char * hexoffset (char buffer [], size_t length, off_t offset);
*
* memory.h
*
* encode buffer with with a NUL terminated string containing the
* hexadecimal representation of a memory offset; the result will
* be padded with leading zeros;
*
* Motley Tools by Charles Maier <cmaier@cmassoc.net>;
* Copyright (c) 2001-2006 by Charles Maier Associates;
* Licensed under the Internet Software Consortium License;
*
*--------------------------------------------------------------------*/
#ifndef HEXOFFSET_SOURCE
#define HEXOFFSET_SOURCE
#include <memory.h>
#include "../tools/number.h"
#include "../tools/memory.h"
char * hexoffset (char buffer [], size_t length, off_t offset)
{
char * string = buffer + length - 1;
memset (buffer, 0, length);
while (string > buffer)
{
*--string = DIGITS_HEX [offset & 0x0F];
offset >>= 4;
}
return (buffer);
}
#endif