/*====================================================================* * * void decout (const byte memory [], size_t extent, char c, char e, FILE * fp); * * memory.h * * print a memory region as a series of decimal octets separated * by character c; normally, c will be DEC_EXTENDER as defined in * number.h; * * for example, decout (memory, 4, '.', stdout) would print * * 192.168.101.002 * * Motley Tools by Charles Maier <cmaier@cmassoc.net>; * Copyright (c) 2001-2006 by Charles Maier Associates; * Licensed under the Internet Software Consortium License; * *--------------------------------------------------------------------*/ #ifndef DECOUT_SOURCE #define DECOUT_SOURCE #include <stdio.h> #include <ctype.h> #include "../tools/memory.h" #include "../tools/number.h" void decout (void const * memory, size_t extent, char c, char e, FILE * fp) { byte * offset = (byte *)(memory); while (extent--) { unsigned order = 100; while (order) { putc (DIGITS_DEC [(* offset / order) % RADIX_DEC], fp); order /= RADIX_DEC; } if ((extent) && (c)) { putc (c, fp); } offset++; } if (e) { putc (e, fp); } return; } #endif