1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*====================================================================*
- *
- * void memout (void const * memory, size_t extent, char const * format, unsigned group, char c, char e, FILE * fp)
- *
- * memory.h
- *
- * print memory as a series of octets formatted by format string fmt,
- * seperated by character c every mod prints;
- *
- * for example, memout (memory, IPv4_LEN, "%d", 1, '.', stdout) would print:
- *
- * 192.168.1.1
- *
- * another example, memout (memory, IPv6_LEN, "%02x", 2, ':', stdout) would print:
- *
- * 0032:0045:0000:0000:0000:0000:1123:4456
- *
- * Motley Tools by Charles Maier;
- * Copyright (c) 2001-2006 by Charles Maier Associates;
- * Licensed under the Internet Software Consortium License;
- *
- * Contributor(s):
- * Nathaniel Houghton
- *
- *--------------------------------------------------------------------*/
- #ifndef MEMOUT_SOURCE
- #define MEMOUT_SOURCE
- #include <stdio.h>
- #include <stddef.h>
- #include "../tools/memory.h"
- void memout (void const * memory, size_t extent, char const * format, unsigned group, char c, char e, FILE * fp)
- {
- byte * origin = (byte *) (memory);
- byte * offset = (byte *) (memory);
- while (extent--)
- {
- ptrdiff_t count = (offset - origin) + 1;
- fprintf (fp, format, * offset);
- if ((count % group) == 0 && extent)
- {
- putc (c, fp);
- }
- offset++;
- }
- if (e)
- {
- putc (c, fp);
- }
- return;
- }
- #endif
|