Dear Holger
On 02.03.2014 08:06, Holger Hans Peter Freyther wrote:
nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs,"%s[L%d]> ",osmo_hexdump(start, lxhs[i] - start),i+1);
- nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs,
"%s", osmo_hexdump(start, msg->tail - start));- nchars = snprintf(buf, sizeof(buf) - buf_offs,
"!!! L%d out of range", i+1);So sizeof(buf) - buf_offs can only be 0 when the output is already null terminated?
No, the expressions can never be 0 due to if (nchars < 0 || nchars + buf_offs >= sizeof(buf)) return "ERROR";
But even if it could, the string has already been \0 terminated by prior calls to snprintf (the initial size value is always > 0).
Jacob
kind regards holger