diff options
author | Werner Koch <[email protected]> | 2024-04-25 08:12:35 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-04-25 08:12:35 +0000 |
commit | 2f9a0895a103f0baf1c2ea38662112c1359bdb90 (patch) | |
tree | cdf915e61c0de5c1dc9ed02de793e8c7dcc16d31 | |
parent | core: New function gpgrt_add_post_log_func. (diff) | |
download | libgpg-error-2f9a0895a103f0baf1c2ea38662112c1359bdb90.tar.gz libgpg-error-2f9a0895a103f0baf1c2ea38662112c1359bdb90.zip |
logging: New function gpgrt_logv_domain.
* src/gpg-error.h.in (gpgrt_logv_domain): New. Also add printf
attributes to the other logv functions.
* src/visibility.c (gpgrt_logv_domain): New.
--
This function can be used instead of gpgrt_logv to provide a somain
string. As of now this has no effect but we may later add an API to
allow selection of diagnostics depending on the domain. There is also
a new (buffer,length) argument which will eventually be used to
provide a domain based gpgrt_log_printhex.
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | src/gpg-error.def.in | 1 | ||||
-rw-r--r-- | src/gpg-error.h.in | 10 | ||||
-rw-r--r-- | src/gpg-error.vers | 1 | ||||
-rw-r--r-- | src/visibility.c | 11 | ||||
-rw-r--r-- | src/visibility.h | 2 |
6 files changed, 28 insertions, 4 deletions
@@ -1,11 +1,16 @@ Noteworthy changes in version 1.49 (unreleased) [C35/A35/R_] ----------------------------------------------- + * Two new functions to improve the logging interface. The + gpgrt_logv_domain is currently the same as gpgrt_logv_prefix but + allows to pass a domain string so that in future we will be able to + select log output by domain. It also provide a non yet functional + feature to include a hex dump. * Interface changes relative to the 1.48 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gpgrt_add_post_log_func NEW. - + gpgrt_logv_domain NEW. Release-info: https://dev.gnupg.org/T7012 diff --git a/src/gpg-error.def.in b/src/gpg-error.def.in index eab681d..a7525a8 100644 --- a/src/gpg-error.def.in +++ b/src/gpg-error.def.in @@ -248,5 +248,6 @@ EXPORTS gpgrt_wipememory @189 gpgrt_add_post_log_func @190 + gpgrt_logv_domain @191 ;; end of file with public symbols for Windows. diff --git a/src/gpg-error.h.in b/src/gpg-error.h.in index d00bf1b..3eacc1a 100644 --- a/src/gpg-error.h.in +++ b/src/gpg-error.h.in @@ -1010,9 +1010,13 @@ int gpgrt_log_get_fd (void); gpgrt_stream_t gpgrt_log_get_stream (void); void gpgrt_log (int level, const char *fmt, ...) GPGRT_ATTR_PRINTF(2,3); -void gpgrt_logv (int level, const char *fmt, va_list arg_ptr); -void gpgrt_logv_prefix (int level, const char *prefix, - const char *fmt, va_list arg_ptr); +void gpgrt_logv (int level, const char *fmt, + va_list arg_ptr) GPGRT_ATTR_PRINTF(2,0); +void gpgrt_logv_prefix (int level, const char *prefix, const char *fmt, + va_list arg_ptr) GPGRT_ATTR_PRINTF(3,0); +void gpgrt_logv_domain (const char *domain, int level, const char *prefix, + const void *buffer, size_t length, const char *fmt, + va_list arg_ptr) GPGRT_ATTR_PRINTF(6,0); void gpgrt_log_string (int level, const char *string); void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); void gpgrt_log_fatal (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); diff --git a/src/gpg-error.vers b/src/gpg-error.vers index b095edf..9287fbf 100644 --- a/src/gpg-error.vers +++ b/src/gpg-error.vers @@ -212,6 +212,7 @@ GPG_ERROR_1.0 { gpgrt_wipememory; gpgrt_add_post_log_func; + gpgrt_logv_domain; local: *; diff --git a/src/visibility.c b/src/visibility.c index 8c00168..65385be 100644 --- a/src/visibility.c +++ b/src/visibility.c @@ -993,6 +993,17 @@ gpgrt_logv_prefix (int level, const char *prefix, } void +gpgrt_logv_domain (const char *domain, int level, const char *prefix, + const void *buffer, size_t length, + const char *fmt, va_list arg_ptr) +{ + (void)domain; /* Not yet used. */ + (void)buffer; + (void)length; + _gpgrt_logv_prefix (level, prefix, fmt, arg_ptr); +} + +void gpgrt_log_string (int level, const char *string) { _gpgrt_log_string (level, string); diff --git a/src/visibility.h b/src/visibility.h index 8f3bd8c..e1bf045 100644 --- a/src/visibility.h +++ b/src/visibility.h @@ -188,6 +188,7 @@ MARK_VISIBLE (gpgrt_add_post_log_func) MARK_VISIBLE (gpgrt_log) MARK_VISIBLE (gpgrt_logv) MARK_VISIBLE (gpgrt_logv_prefix) +MARK_VISIBLE (gpgrt_logv_domain) MARK_VISIBLE (gpgrt_log_string) MARK_VISIBLE (gpgrt_log_bug) MARK_VISIBLE (gpgrt_log_fatal) @@ -380,6 +381,7 @@ MARK_VISIBLE (gpgrt_absfnameconcat) #define gpgrt_log _gpgrt_USE_UNDERSCORED_FUNCTION #define gpgrt_logv _gpgrt_USE_UNDERSCORED_FUNCTION #define gpgrt_logv_prefix _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_logv_domain _gpgrt_USE_UNDERSCORED_FUNCTION #define gpgrt_log_string _gpgrt_USE_UNDERSCORED_FUNCTION #define gpgrt_log_bug _gpgrt_USE_UNDERSCORED_FUNCTION #define gpgrt_log_fatal _gpgrt_USE_UNDERSCORED_FUNCTION |