been doing all along since there was the possibility isc_dir_open() would
fail and overloading the return value of "0" was bad practice.
If isc_dir_open() fails in greatest_version(), make sure the path separator
is restored to the destination pathname if it was NULified before returning
the error.
The underlying problem of isc_log_open() not having the bad result of
isc_dir_open() reported anywhere will be slightly mediate by a change
to bin/named/logconf.c to test the directory. lib/isc/log.c can't really
handle it because it has no idea to where such an error should be reported,
and it only shows up during isc_log_open() as part of the isc_log_write()
family of calls, which are all void.
support i18n messages. isc_log_iwrite(),
isc_log_ivwrite(), isc_log_iwrite1() and
isc_log_ivwrite1() were added.
(The log.h/log.c changes were just minor formatting changes.)
Provided isc_log_i{,v}write{,1}, with appropriate macro substitutions,
for files that are not yet converted to the new API. When everything
is converted, the added functions will be removed.
would fail to find the first member of any category
or module array apart from the internal defaults.
Thus, for example, the "notify" category was improperly
configured by named.
This resolves RT #132, "Logging channels definition problems."
Mostly, several functions that take pointers as arguments, almost
always char * pointers, had those pointers qualified with "const".
Those that returned pointers to previously const-qualified arguments
had their return values qualified as const. Some structure members
were qualified as const to retain that attribute from the variables
from which they were assigned.
The macro DE_CONST was added to isc/util.h to deal with a handful of very
special places where something is qualified as const but really needs to have
its const qualifier removed.
Also cleaned up a few places where variable names clashed with reserved
identifiers. (Which mostly works fine, but strictly speaking is undefined
by the standard.)
Minor other ISC style cleanups.
the logconfig is properly dimensioned, and only free the channellist
memory in isc_logconfig_destroy if the channellist_count is > 0.
the first addresses a problem that could occur when a successful
isc_log_create was followed immediately by isc_log_[v]write[1] or
isc_log_destroy (with no intervening isc_log_usechannel or
isc_logconfig_use), and the second addresses a problem that could
occur in cleanup if isc_log_create or isc_logconfig_create failed.
Use isc_time_secondsastimet() to set a time_t variable.
Properly skip the duplicate checking loop if the boundary time is not
successfully set (this was intended before, but coded wrongly).
Removed unused variable pid_string, after I opted to not add the
unrequested ISC_LOG_PRINTPID option half way into implementing it.
Cleanup of redundant/useless header file inclusion.
ISC style lint, primarily for function declarations and standalone
comments -- ie, those that appear on a line without any code, which
should be written as follows:
/*
* This is a comment.
*/