lkml.org 
[lkml]   [2007]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/3] hexdump: more output formatting
Satyam Sharma wrote:
> Hello Randy,
>
>> Add a prefix string parameter. Callers are responsible for any
>> string length/alignment that they want to see in the output. I.e.,
>> callers should pad strings to achieve alignment if they want that.
>>
>> Add rowsize parameter. This is the number of raw data bytes
>> to be printed per line. Must be 16 or 32.
>>
>> Add a group_size parameter. This allows callers to dump values
>> as 1-byte, 2-byte, 4-byte, or 8-byte numbers. Default is
>> 1-byte numbers. If the total length is not an even multiple
>> of group_size, 1-byte numbers are printed.
>
> I wonder if (over-)engineering could hurt its adoption by more kernel
> users. There aren't very many 8-argument monsters in the kernel,
> and one would expect hexdump() to be easier on the fingers to
> type? :-) Why not just continue with reasonable default/fixed rowsize
> and groupsize values?

Yes, one can try to satisfy the users/callers by adapting to their
needs (wishes), which requires parameters or such; or one can have
no callers and end up with (around 11 currently) different hex dump
functions in the kernel source tree, but no users of lib/hexdump.c.

But it won't take much more "requirements" for me to drop the patch.

>> Add an "ascii" output parameter. This causes ASCII data output
>> following the hex data output.
> [...]
>> + if (!ascii)
>> + goto nil;
>> +
>> + if ((lx + 1) < linebuflen)
>> linebuf[lx++] = ' ';
>> - }
>> - for (j = 0; (j < 16) && (j < len) && (lx + 2) < linebuflen; j++)
>> + for (j = 0; (j < rowsize) && (j < len) && (lx + 2) <
>> linebuflen; j++)
>> linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
>> +nil:
>> linebuf[lx++] = '\0';
>
> if (ascii) {
> ...
> }
>
> linebuf[lx++] = '\0';
>
> would help lose a goto and label.

The label has another reference already, so it wouldn't be lost.

But the if (ascii) block could be added...

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-05-31 00:07    [W:0.244 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site