On Thu, Aug 17, 2023 at 03:42:45PM -0400, Steven Rostedt wrote: > On Thu, 17 Aug 2023 13:29:26 -0600 > Ross Zwisler <zwisler@xxxxxxxxxx> wrote: > > > > + fail: > > > + /* Free the new values that were added */ > > > + data_release(i, copy, types); > > > + /* Put back the old values */ > > > + for (i--; i >= 0; i--) { > > > + copy_traceeval_data(types + i, NULL, > > > + copy + i, old + i); > > > > should be: old + i, copy + i); > > > > Right now we're copying 'copy' into 'old', but we want to be doing it the > > other way around so we restore 'copy' back to its saved state in 'old' > > I need to change the parameter names to "src" and "dst" as I can't think of > "orig" and "copy" as which direction they go. I was thinking the same thing, 'src' and 'dst' would be better. :) > I looked at that three times, > and still am confused. And probably reverse them too to make it equivalent > to memcpy(): > > From memcpy() man page; > > SYNOPSIS > #include <string.h> > > void *memcpy(void *restrict dest, const void *restrict src, size_t n); > > DESCRIPTION > The memcpy() function copies n bytes from memory area src to memory > area dest. The memory areas must not overlap. Use memmove(3) if > the memory areas do overlap. > > As most standard libraries have it "dst, src" I'm pretty much thinking that > way, and my "direction" is always dst = src --> dst, src. And that's > exactly what I was thinking above :-p > > -- Steve >