Obviously, a negative size is bogus, but we want apitrace to be robust
enough to capture even bogus usage of the API, (so that the user can
investigate and fix the bogosity in the application).
In this case, if the user specifies a negative size for an array,
simply don't write anything out for the array content.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
length = '_c' + array.type.tag
index = '_i' + array.type.tag
print ' if (%s) {' % instance
- print ' size_t %s = %s;' % (length, array.length)
+ print ' size_t %s = %s > 0 ? %s : 0;' % (length, array.length, array.length)
print ' trace::localWriter.beginArray(%s);' % length
print ' for (size_t %s = 0; %s < %s; ++%s) {' % (index, index, length, index)
print ' trace::localWriter.beginElement();'