    /*====================================================================*
     *
     *   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

[PREV] [HOME] [NEXT]