aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/cmd_dumpx.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/cmd_dumpx.c')
-rw-r--r--cmd/cmd_dumpx.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/cmd/cmd_dumpx.c b/cmd/cmd_dumpx.c
index 3e6cdf1..ecca20c 100644
--- a/cmd/cmd_dumpx.c
+++ b/cmd/cmd_dumpx.c
@@ -8,26 +8,28 @@
#include "libcmd/cmd_parse.h"
extern file_t *g_file;
-extern buf_t *g_buf;
+extern Buf *g_buf;
extern int g_flags;
int c_dumpx( cmd_arg_t *arg )
{
int i,j;
- if ( g_buf->buf == NULL)
+ if ( g_buf->isempty() )
{
printf("Buffer to print empty\n");
return -1;
}
- for (i=0; i<g_buf->size; i+=16)
+ for (i=0; i<g_buf->size(); i+=16)
{
for (j=i; j<i+16; j++)
{
- if ( j<g_buf->size )
+ if ( j<g_buf->size() )
{
- printf("%02x ",(unsigned char)g_buf->buf[j]);
+ char c;
+ g_buf->getc(j,&c);
+ printf("%02x ",(unsigned char)c);
} else
{
printf(" ");
@@ -36,11 +38,14 @@ int c_dumpx( cmd_arg_t *arg )
for (j=i; j<i+16; j++)
{
- if ( j<g_buf->size ) //wrong place move to cycle?
+ if ( j<g_buf->size() ) //wrong place move to cycle?
{
- if ( isprint(g_buf->buf[j]) )
+ char c;
+ g_buf->getc(j,&c);
+ if ( isprint(c) )
{
- printf("%c",(unsigned char)g_buf->buf[j]);
+
+ printf("%c",(unsigned char)c);
} else
{
printf("\e[7m.\e[0m");