OSSP CVS Repository
|1.13||Check-in : Adjust copyright messages for new year 2005. By rse. (diff)|
|1.12||Check-in : Adjust copyright messages for new year 2005. By rse. (diff)|
|1.11||Check-in : Remove NULL checks for va_list based variables because it is not portable to assume that va_list behaves like a pointer or other scalar type. Indeed it is a full structure on some platforms like FreeBSD/alpha. By rse. (diff)|
|1.10||Check-in : - remove trailing whitespaces - adjust copyright messages - consistently use "OSSP l2" - consistently talk about "Flexible Logging" - use standard OSSP ASCII-art By rse. (diff)|
|1.9||Check-in : polish for release By rse. (diff)|
|1.8||Check-in : allow hexadecimal and octal integer values, too. (especially for file permissions) By rse. (diff)|
|1.7||Check-in : bump copyright year By rse. (diff)|
Hell, I've seldom seen that it is needed to prepare and adjust such a
lot of subtle details of existing code in order to make a new feature
implementable in a straight-forward way. Anyway, here comes one more
preparation change for the forthcoming channel tree specification
- change l2_util_setparam() to take an l2_env_t parameter which allows the function to report better error messages.
- completely rewrite l2_util_setparam() to support calls l2_channel_configure(ch, "n1=v1,n2=v2,n3=v3") and/or l2_channel_configure(ch, "n1=%x,n2=%x,n3=%x", v1, v2, v3) instead of l2_channel_configure(ch, "n1,n2,n3", v1, v2, v3)
This is both a step forward to make the interface of l2_channel_configure() more flexible (because one now can directly inline values instead of having them to be passed explicitly) and allows the spec parser not having to know the type (integer, floating point or string) of a parameter (which is important if one wants the parser to be independent of the implementing channel handlers).By rse. (diff)
|1.5||Check-in : fix memory leak for string parameters By rse. (diff)|
|1.4||Check-in : Replace generic L2_ERROR with more granular L2_ERR_XXX and make sure that we always check with "!= L2_OK". By rse. (diff)|
|1.3||Check-in : fix L2_TYPE_STRING: argument can be NULL By rse. (diff)|
|1.2||Check-in : Provide an L2_TYPE_STRING for the channel configuration steps. This is like L2_TYPE_CHARPTR but treats the target as a NUL-terminated string and performs a strdup() on it. This make the channels simpler, because they no longer have to post-process the configuration step in order to make own copies of provided strings. By rse. (diff)|
Wohhooooo! Here comes the underlying message formatting support:
1. renamed l2_channel_setparam() to l2_util_setparam() because it is just a utility function and is not tied to any channel.
2. moved l2_util_setparam() to its own l2_ut_param.c source file.
3. added l2_ut_format.c which contains a slightly adjusted version of Str's str_format() stuff under the name l2_util_format().
4. use l2_util_format() in l2_stream.c instead of vsnprintf() and this way finally support l2_formatter_t callbacks.
5. cleanup adjustments to the l2_stream_formatter() API.
Let's rock... By rse.