From 70c31b9b889d9db7070f63b97bbd74276ec77d6b Mon Sep 17 00:00:00 2001 From: Stephen Lombardo Date: Mon, 11 Mar 2024 12:22:14 -0400 Subject: [PATCH] allow exclusion of device-specific log functionality via SQLCIPHER_OMIT_LOG_DEVICE --- src/crypto.h | 8 ++++---- src/crypto_impl.c | 12 +++++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/crypto.h b/src/crypto.h index 21522cc5..cdd973ca 100644 --- a/src/crypto.h +++ b/src/crypto.h @@ -40,14 +40,14 @@ #include "pager.h" #include "vdbeInt.h" -#ifdef __ANDROID__ +#if !defined(SQLCIPHER_OMIT_LOG_DEVICE) +#if defined(__ANDROID__) #include -#endif - -#ifdef __APPLE__ +#elif defined(__APPLE__) #include #include #endif +#endif #include diff --git a/src/crypto_impl.c b/src/crypto_impl.c index ca6c610a..108bc643 100644 --- a/src/crypto_impl.c +++ b/src/crypto_impl.c @@ -1638,11 +1638,13 @@ static int sqlcipher_profile_callback(unsigned int trace, void *file, void *stmt FILE *f = (FILE*) file; double elapsed = (*((sqlite3_uint64*)run_time))/1000000.0; if(f == NULL) { +#if !defined(SQLCIPHER_OMIT_LOG_DEVICE) #if defined(__ANDROID__) __android_log_print(ANDROID_LOG_DEBUG, "sqlcipher", SQLCIPHER_PROFILE_FMT, elapsed, sqlite3_sql((sqlite3_stmt*)stmt)); #elif defined(__APPLE__) os_log(OS_LOG_DEFAULT, SQLCIPHER_PROFILE_FMT_OSLOG, elapsed, sqlite3_sql((sqlite3_stmt*)stmt)); #endif +#endif } else { fprintf(f, SQLCIPHER_PROFILE_FMT, elapsed, sqlite3_sql((sqlite3_stmt*)stmt)); } @@ -1695,17 +1697,18 @@ void sqlcipher_log(unsigned int level, const char *message, ...) { char *formatted = NULL; #ifdef CODEC_DEBUG +#if !defined(SQLCIPHER_OMIT_LOG_DEVICE) #if defined(__ANDROID__) __android_log_vprint(ANDROID_LOG_DEBUG, "sqlcipher", message, params); -#elif define(__APPLE__) +#elif defined(__APPLE__) formatted = sqlite3_vmprintf(message, params); os_log(OS_LOG_DEFAULT, "%s", formatted); sqlite3_free(formatted); -#else +#endif +#endif vfprintf(stderr, message, params); fprintf(stderr, "\n"); #endif -#endif if(level > sqlcipher_log_level || (sqlcipher_log_device == 0 && sqlcipher_log_file == NULL)) { /* no log target or tag not in included filters */ @@ -1737,6 +1740,7 @@ void sqlcipher_log(unsigned int level, const char *message, ...) { fprintf((FILE*)sqlcipher_log_file, "\n"); } } +#if !defined(SQLCIPHER_OMIT_LOG_DEVICE) if(sqlcipher_log_device) { #if defined(__ANDROID__) __android_log_vprint(ANDROID_LOG_DEBUG, "sqlcipher", message, params); @@ -1746,6 +1750,8 @@ void sqlcipher_log(unsigned int level, const char *message, ...) { sqlite3_free(formatted); #endif } +#endif + end: va_end(params); } -- 2.11.4.GIT