This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Printing binary data in embedded C
- From: Perry Cheng <perryche at us dot ibm dot com>
- To: systemtap at sources dot redhat dot com
- Date: Fri, 21 Dec 2007 23:50:45 -0500
- Subject: Printing binary data in embedded C
I've been trying to convert some of my existing scripts from printing
ascii data to binary data to improve probe speed. I've stated using the
%b modifier via _stp_printf with success. However, my data naturally
comes in as a char[] of known length and printing it one word at a time
with %4b doesn't seem like the best way. On the other hand, I can't use a
bulk function like _stp_print since it interprets the buffer as a C string
and will misinterpret my binary 0's as a string terminator. Looking at
the implementation of _stp_print, it's clear that this is an easy feature
to add.
Is there an existing function that I have missed or is there a simple
workaround? If not, how fragile is it for me to clone _stp_print and then
replace the call to strlen with the my buffer length?
Thanks,
Perry