char *prefix = NULL;
category = ossl_trace_get_category(category);
- if (category < 0)
+ if (category < 0 || !OSSL_trace_enabled(category))
return NULL;
channel = trace_channels[category].bio;
enabled (see L</Configure Tracing> below) and a trace channel has been
registered using L<OSSL_trace_set_channel(3)> or L<OSSL_trace_set_callback(3)>.
-OSSL_trace_begin() is used to starts a tracing section, and get the
-channel for the given I<category> in form of a BIO.
+OSSL_trace_begin() is used to start a tracing section,
+and get the channel for the given I<category> in form of a BIO.
This BIO can only be used for output.
+The pointer returned is NULL if the category is invalid or not enabled.
OSSL_trace_end() is used to end a tracing section.
=head1 NOTES
+It is not needed to guard trace output function calls like
+I<OSSL_TRACE(category, ...)> by I<OSSL_TRACE_ENABLED(category)>.
+
If producing the trace output requires carrying out auxiliary calculations,
this auxiliary code should be placed inside a conditional block which is
executed only if the trace category is enabled.