diff options
Diffstat (limited to 'source/components/utilities/utbuffer.c')
-rw-r--r-- | source/components/utilities/utbuffer.c | 62 |
1 files changed, 35 insertions, 27 deletions
diff --git a/source/components/utilities/utbuffer.c b/source/components/utilities/utbuffer.c index 44fd30a6a16a..015c16f93939 100644 --- a/source/components/utilities/utbuffer.c +++ b/source/components/utilities/utbuffer.c @@ -186,8 +186,10 @@ AcpiUtDumpBuffer ( UINT32 j; UINT32 Temp32; UINT8 BufChar; + UINT32 DisplayDataOnly = Display & DB_DISPLAY_DATA_ONLY; + Display &= ~DB_DISPLAY_DATA_ONLY; if (!Buffer) { AcpiOsPrintf ("Null Buffer Pointer in DumpBuffer!\n"); @@ -205,7 +207,10 @@ AcpiUtDumpBuffer ( { /* Print current offset */ - AcpiOsPrintf ("%8.4X: ", (BaseOffset + i)); + if (!DisplayDataOnly) + { + AcpiOsPrintf ("%8.4X: ", (BaseOffset + i)); + } /* Print 16 hex chars */ @@ -257,38 +262,41 @@ AcpiUtDumpBuffer ( * Print the ASCII equivalent characters but watch out for the bad * unprintable ones (printable chars are 0x20 through 0x7E) */ - AcpiOsPrintf (" "); - for (j = 0; j < 16; j++) + if (!DisplayDataOnly) { - if (i + j >= Count) + AcpiOsPrintf (" "); + for (j = 0; j < 16; j++) { - AcpiOsPrintf ("\n"); - return; + if (i + j >= Count) + { + AcpiOsPrintf ("\n"); + return; + } + + /* + * Add comment characters so rest of line is ignored when + * compiled + */ + if (j == 0) + { + AcpiOsPrintf ("// "); + } + + BufChar = Buffer[(ACPI_SIZE) i + j]; + if (isprint (BufChar)) + { + AcpiOsPrintf ("%c", BufChar); + } + else + { + AcpiOsPrintf ("."); + } } - /* - * Add comment characters so rest of line is ignored when - * compiled - */ - if (j == 0) - { - AcpiOsPrintf ("// "); - } + /* Done with that line. */ - BufChar = Buffer[(ACPI_SIZE) i + j]; - if (isprint (BufChar)) - { - AcpiOsPrintf ("%c", BufChar); - } - else - { - AcpiOsPrintf ("."); - } + AcpiOsPrintf ("\n"); } - - /* Done with that line. */ - - AcpiOsPrintf ("\n"); i += 16; } |