On Thu, Oct 06, 2005 at 09:10:41PM +0200, syslog-ng-request@lists.balabit.hu wrote:
+ if (left && *src >= '0' && *src <= '9') {
Consider isdigit(3)
This was done to remain consistent with the existing code. Do you want me to enlarge the scope of the patch to change the existing instances of this as well?
+ while (left && *src >= '0' && *src <= '9') {
Consider isdigit(3) or parse up to *src == ']'
I avoided parsing up to ']' to avoid the unlikely situation where someone sends us a mal formatted log entry. If for some reason I get a message like "foo[135xyz]", I don't want the xyz part, even though the 135 part is probably garbage anyway.
self->msg = c_format_cstring("syslog-ng[%i]: %s", getpid(), >length, data); self->program = c_format_cstring("syslog-ng"); + self->pid = c_format_cstring("%i", getpid());
This is wrong! You most certainly don't want to add the pid of the receiving syslog-ng process.
seen out of context, that part of the patch is deceptive and misleading at first glance, but I am pretty certain it is correct. This is part of the make_internal_message() function. Notice the existing call to getpid() a few lines up where self->msg is being constructed.
Whitespace/tab damage.
oops! I probably have broken .vimrc settings. Also, is macros.gperf an automatically generated file? I wasn't sure if I needed to patch that part. -jason pepas