X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=libexfat%2Flog.c;h=f29f74b1d68c22f7702532a5bb933ea8709edc3b;hb=HEAD;hp=5d99d30a91ca6b00b12bdb0a5da45e2a80a00460;hpb=7c1f592481792ea54bfdefd3d881ded0202ccb26;p=sven%2Ffuse-exfat.git diff --git a/libexfat/log.c b/libexfat/log.c index 5d99d30..dd2063b 100644 --- a/libexfat/log.c +++ b/libexfat/log.c @@ -3,7 +3,7 @@ exFAT file system implementation library. Free exFAT implementation. - Copyright (C) 2010-2017 Andrew Nayenko + Copyright (C) 2010-2023 Andrew Nayenko This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,7 +22,11 @@ #include "exfat.h" #include +#ifdef __ANDROID__ +#include +#else #include +#endif #include int exfat_errors; @@ -43,8 +47,12 @@ void exfat_bug(const char* format, ...) va_end(ap); fputs(".\n", stderr); +#ifdef __ANDROID__ + __android_log_vprint(ANDROID_LOG_FATAL, PACKAGE, format, aq); +#else if (!isatty(STDERR_FILENO)) vsyslog(LOG_CRIT, format, aq); +#endif va_end(aq); abort(); @@ -67,8 +75,12 @@ void exfat_error(const char* format, ...) va_end(ap); fputs(".\n", stderr); +#ifdef __ANDROID__ + __android_log_vprint(ANDROID_LOG_ERROR, PACKAGE, format, aq); +#else if (!isatty(STDERR_FILENO)) vsyslog(LOG_ERR, format, aq); +#endif va_end(aq); } @@ -89,8 +101,12 @@ void exfat_warn(const char* format, ...) va_end(ap); fputs(".\n", stderr); +#ifdef __ANDROID__ + __android_log_vprint(ANDROID_LOG_WARN, PACKAGE, format, aq); +#else if (!isatty(STDERR_FILENO)) vsyslog(LOG_WARNING, format, aq); +#endif va_end(aq); } @@ -99,12 +115,22 @@ void exfat_warn(const char* format, ...) */ void exfat_debug(const char* format, ...) { - va_list ap; + va_list ap, aq; + + va_start(ap, format); + va_copy(aq, ap); fflush(stdout); fputs("DEBUG: ", stderr); - va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); fputs(".\n", stderr); + +#ifdef __ANDROID__ + __android_log_vprint(ANDROID_LOG_DEBUG, PACKAGE, format, aq); +#else + if (!isatty(STDERR_FILENO)) + vsyslog(LOG_DEBUG, format, aq); +#endif + va_end(aq); }