diff options
Diffstat (limited to 'src/xine-utils/utils.c')
-rw-r--r-- | src/xine-utils/utils.c | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/src/xine-utils/utils.c b/src/xine-utils/utils.c index d79388cea..92161b5af 100644 --- a/src/xine-utils/utils.c +++ b/src/xine-utils/utils.c @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2000-2002 the xine project * * This file is part of xine, a free video player. @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: utils.c,v 1.13 2003/04/20 21:13:28 guenter Exp $ + * $Id: utils.c,v 1.14 2003/07/16 14:14:17 andruil Exp $ * */ #define _POSIX_PTHREAD_SEMANTICS 1 /* for 5-arg getpwuid_r on solaris */ @@ -171,3 +171,38 @@ void xine_print_trace (void) { printf("stack backtrace not available.\n"); #endif } + +/* print a hexdump of length bytes from the data given in buf */ +void xine_hexdump (char *buf, int length) { + int i,j; + unsigned char c; + + /* printf ("Hexdump: %i Bytes\n", length);*/ + for(j=0; j<69; j++) + printf ("-"); + printf ("\n"); + + j=0; + while(j<length) { + printf ("%04X ",j); + for (i=j; i<j+16; i++) { + if( i<length ) + printf ("%02X ", buf[i]); + else + printf(" "); + } + for (i=j;i<(j+16<length?j+16:length);i++) { + c=buf[i]; + if ((c>=20) && (c<128)) + printf ("%c", c); + else + printf ("."); + } + j=i; + printf("\n"); + } + + for(j=0; j<69; j++) + printf("-"); + printf("\n"); +} |