Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix various issues in mce-log.h
Reserved symbol names (__xxx, _XXX_, etc) were replaced with XXX_.

Added missing dummy counterparts for real functions and removed
useless and repetitive doxygen documentation of all dummies.

Indented #if blocks to make nesting level more visible.

Split long lines.
  • Loading branch information
spiiroin committed Aug 26, 2014
1 parent 37b4453 commit b803449
Showing 1 changed file with 35 additions and 32 deletions.
67 changes: 35 additions & 32 deletions mce-log.h
Expand Up @@ -18,13 +18,13 @@
* You should have received a copy of the GNU Lesser General Public
* License along with mce. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _MCE_LOG_H_
#define _MCE_LOG_H_
#ifndef MCE_LOG_H_
# define MCE_LOG_H_

#include <syslog.h>
# include <syslog.h>

#define MCE_LOG_SYSLOG 1 /**< Log to syslog */
#define MCE_LOG_STDERR 0 /**< Log to stderr */
# define MCE_LOG_SYSLOG 1 /**< Log to syslog */
# define MCE_LOG_STDERR 0 /**< Log to stderr */

/** Severity of loglevels (subset of syslog priorities) */
typedef enum {
Expand All @@ -39,46 +39,49 @@ typedef enum {

LL_DEFAULT = LL_WARN, /**< Default log level */

#ifdef ENABLE_DEVEL_LOGGING
# ifdef ENABLE_DEVEL_LOGGING
LL_DEVEL = LL_CRIT, /**< Log by default on devel build */
#else
# else
LL_DEVEL = LL_NOTICE, /**< Otherwise verbose mode needed */
#endif
# endif

} loglevel_t;

# ifdef OSSOLOG_COMPILE
void mce_log_add_pattern(const char *pat);
void mce_log_set_verbosity(const int verbosity);

int mce_log_p_(const loglevel_t loglevel,
const char *const file, const char *const function);

#ifdef OSSOLOG_COMPILE
void mce_log_file(loglevel_t loglevel, const char *const file,
const char *const function, const char *const fmt, ...)
__attribute__((format(printf, 4, 5)));
#define mce_log_raw(__loglevel, __fmt, __args...) mce_log_file(__loglevel, NULL, NULL, __fmt , ## __args)
#define mce_log(__loglevel, __fmt, __args...) \
do {\
if( mce_log_p(__loglevel) )\
mce_log_file(__loglevel, __FILE__, __FUNCTION__, __fmt , ## __args); \
} while(0)
__attribute__((format(printf, 4, 5)));

void mce_log_set_verbosity(const int verbosity);
void mce_log_open(const char *const name, const int facility, const int type);
void mce_log_close(void);
int mce_log_p_(const loglevel_t loglevel, const char *const file, const char *const function);
#define mce_log_p(LEV_) mce_log_p_(LEV_,__FILE__,__FUNCTION__)
#else
/** Dummy version used when logging is disabled at compile time */
#define mce_log(_loglevel, _fmt, ...) do {} while (0)

/** Dummy version used when logging is disabled at compile time */
#define mce_log_set_verbosity(_verbosity) do {} while (0)
# define mce_log_p(LEV_)\
mce_log_p_(LEV_,__FILE__,__FUNCTION__)

/** Dummy version used when logging is disabled at compile time */
#define mce_log_open(_name, _facility, _type) do {} while (0)
# define mce_log_raw(LEV_, FMT_, ARGS_...)\
mce_log_file(LEV_, NULL, NULL, FMT_ , ## ARGS_)

/** Dummy version used when logging is disabled at compile time */
#define mce_log_close() do {} while (0)
# define mce_log(LEV_, FMT_, ARGS_...)\
do {\
if( mce_log_p(LEV_) )\
mce_log_file(LEV_, __FILE__, __FUNCTION__,\
FMT_ , ## ARGS_);\
} while(0)

/** Dummy version used when logging is disabled at compile time */
#define mce_log_p(_loglevel) 0
#endif /* OSSOLOG_COMPILE */
#endif /* _MCE_LOG_H_ */
# else
/* Dummy versions used when logging is disabled at compile time */
# define mce_log_add_pattern(PAT_) do {} while (0)
# define mce_log_set_verbosity(LEV_) do {} while (0)
# define mce_log_open(NAME_, FACILITY_, TYPE_) do {} while (0)
# define mce_log_close() do {} while (0)
# define mce_log_p(LEV_) 0
# define mce_log(LEV_, FMT_, ...) do {} while (0)
# define mce_log_raw(LEV_, FMT_, ARGS_...) do {} while (0)
# endif /* OSSOLOG_COMPILE */
#endif /* MCE_LOG_H_ */

0 comments on commit b803449

Please sign in to comment.