[DTrace-devel] [PATCH 4/5] trace: handle the empty string in a sensible way

Kris Van Hees kris.van.hees at oracle.com
Thu Aug 14 19:38:47 UTC 2025


On Thu, Aug 14, 2025 at 12:18:42PM -0400, Eugene Loh wrote:
> I agree, but does this change any test results?  If not, should there be a
> test added?

Hm, it did at some point in my testing (which is why I added this patch), but
now I do not have that same effect, so I think that perhaps another change I
was making interfered.  So, I will add a test and post v2.

> On 8/13/25 11:57, Kris Van Hees via DTrace-devel wrote:
> > The trace("") action would dump a series of 0x00 bytes (strsize of
> > them) rather than printing an empty string.  While that is the legacy
> > behaviour, it does not really make any sense to do so.  The trace
> > action is described as printing data as a string if possible, and a
> > block of 0-bytes can certainly be printed as an empty string.
> > 
> > Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> > ---
> >   libdtrace/dt_consume.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/libdtrace/dt_consume.c b/libdtrace/dt_consume.c
> > index edfe5bbae..2dce69d6d 100644
> > --- a/libdtrace/dt_consume.c
> > +++ b/libdtrace/dt_consume.c
> > @@ -991,7 +991,7 @@ dt_print_bytes(dtrace_hdl_t *dtp, FILE *fp, caddr_t addr,
> >   		    c[i] == '\b' || c[i] == '\a')
> >   			continue;
> > -		if (c[i] == '\0' && i > 0) {
> > +		if (c[i] == '\0') {
> >   			/*
> >   			 * This looks like it might be a string.  Before we
> >   			 * assume that it is indeed a string, check the



More information about the DTrace-devel mailing list