Move clogger to libcryptsetup_cli crypt_cli_logger.

This commit is contained in:
Ondrej Kozina
2020-07-02 13:45:22 +02:00
committed by Milan Broz
parent cf2e099087
commit cfcc908cae
5 changed files with 31 additions and 36 deletions

View File

@@ -39,11 +39,6 @@
#include "libcryptsetup_cli.h"
#include "cli_internal.h"
#define log_dbg(x...) clogger(NULL, CRYPT_LOG_DEBUG, __FILE__, __LINE__, x)
#define log_std(x...) clogger(NULL, CRYPT_LOG_NORMAL, __FILE__, __LINE__, x)
#define log_verbose(x...) clogger(NULL, CRYPT_LOG_VERBOSE, __FILE__, __LINE__, x)
#define log_err(x...) clogger(NULL, CRYPT_LOG_ERROR, __FILE__, __LINE__, x)
#define LOG_MAX_LEN 4096
/* Password reading helpers */
@@ -422,3 +417,24 @@ bool crypt_cli_arg_set(struct crypt_cli *ctx, const char *name)
return arg->set;
}
__attribute__((format(printf, 5, 6)))
void crypt_cli_logger(struct crypt_device *cd, int level, const char *file, int line,
const char *format, ...)
{
va_list argp;
char target[LOG_MAX_LEN + 2];
va_start(argp, format);
if (vsnprintf(&target[0], LOG_MAX_LEN, format, argp) > 0) {
/* All verbose and error messages in tools end with EOL. */
if (level == CRYPT_LOG_VERBOSE || level == CRYPT_LOG_ERROR || level == CRYPT_LOG_DEBUG ||
level == CRYPT_LOG_DEBUG_JSON)
strncat(target, "\n", LOG_MAX_LEN);
crypt_log(cd, level, target);
}
va_end(argp);
}

View File

@@ -56,6 +56,15 @@ int crypt_cli_arg_value(struct crypt_cli *ctx, const char *name, void *value);
int crypt_cli_arg_type(struct crypt_cli *ctx, const char *name, crypt_arg_type_info *type);
void crypt_cli_logger(struct crypt_device *cd, int level, const char *file, int line,
const char *format, ...);
/* Log */
#define log_dbg(x...) crypt_cli_logger(NULL, CRYPT_LOG_DEBUG, __FILE__, __LINE__, x)
#define log_std(x...) crypt_cli_logger(NULL, CRYPT_LOG_NORMAL, __FILE__, __LINE__, x)
#define log_verbose(x...) crypt_cli_logger(NULL, CRYPT_LOG_VERBOSE, __FILE__, __LINE__, x)
#define log_err(x...) crypt_cli_logger(NULL, CRYPT_LOG_ERROR, __FILE__, __LINE__, x)
#ifdef __cplusplus
}
#endif

View File

@@ -5,6 +5,7 @@ CRYPTSETUP_CLI_1.0 {
crypt_cli_arg_set;
crypt_cli_arg_type;
crypt_cli_arg_value;
crypt_cli_logger;
local:
*;
};

View File

@@ -71,8 +71,6 @@ extern int opt_batch_mode;
extern int opt_progress_frequency;
/* Common tools */
void clogger(struct crypt_device *cd, int level, const char *file, int line,
const char *format, ...) __attribute__ ((format (printf, 5, 6)));
void tool_log(int level, const char *msg, void *usrptr __attribute__((unused)));
void quiet_log(int level, const char *msg, void *usrptr);
@@ -129,10 +127,4 @@ void tools_cleanup(void);
#define FREE_AND_NULL(x) do { free(x); x = NULL; } while (0)
/* Log */
#define log_dbg(x...) clogger(NULL, CRYPT_LOG_DEBUG, __FILE__, __LINE__, x)
#define log_std(x...) clogger(NULL, CRYPT_LOG_NORMAL, __FILE__, __LINE__, x)
#define log_verbose(x...) clogger(NULL, CRYPT_LOG_VERBOSE, __FILE__, __LINE__, x)
#define log_err(x...) clogger(NULL, CRYPT_LOG_ERROR, __FILE__, __LINE__, x)
#endif /* CRYPTSETUP_H */

View File

@@ -77,29 +77,6 @@ void check_signal(int *r)
*r = -EINTR;
}
#define LOG_MAX_LEN 4096
__attribute__((format(printf, 5, 6)))
void clogger(struct crypt_device *cd, int level, const char *file, int line,
const char *format, ...)
{
va_list argp;
char target[LOG_MAX_LEN + 2];
va_start(argp, format);
if (vsnprintf(&target[0], LOG_MAX_LEN, format, argp) > 0) {
/* All verbose and error messages in tools end with EOL. */
if (level == CRYPT_LOG_VERBOSE || level == CRYPT_LOG_ERROR ||
level == CRYPT_LOG_DEBUG || level == CRYPT_LOG_DEBUG_JSON)
strncat(target, "\n", LOG_MAX_LEN);
crypt_log(cd, level, target);
}
va_end(argp);
}
void tool_log(int level, const char *msg, void *usrptr __attribute__((unused)))
{
switch(level) {