mirror of
https://github.com/DrBeef/JKXR.git
synced 2024-12-11 05:01:03 +00:00
71 lines
1.6 KiB
C
71 lines
1.6 KiB
C
|
#ifndef __ANDROID_DEBUG_H__
|
||
|
#define __ANDROID_DEBUG_H__
|
||
|
|
||
|
// Redirect printf() to Android log
|
||
|
// Put this file into CFLAGS: "-include ../android_debug.h"
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <stdarg.h>
|
||
|
#include <android/log.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
// Include everything beforehand, so we wont' get compiler errors because of our #define
|
||
|
#include <string>
|
||
|
#include <ios>
|
||
|
#include <streambuf>
|
||
|
#include <sstream>
|
||
|
#include <fstream>
|
||
|
#include <iostream>
|
||
|
|
||
|
namespace std
|
||
|
{
|
||
|
class android_cout: public ostringstream
|
||
|
{
|
||
|
public:
|
||
|
android_cout() {}
|
||
|
template <class T>
|
||
|
android_cout &operator<<(const T &v)
|
||
|
{
|
||
|
*((ostringstream*)this) << v;
|
||
|
if( this->str().find('\n') != ::std::string::npos )
|
||
|
{
|
||
|
__android_log_print(ANDROID_LOG_INFO, "LIBGL", "%s", this->str().c_str());
|
||
|
this->str().clear();
|
||
|
}
|
||
|
return *this;
|
||
|
}
|
||
|
~android_cout()
|
||
|
{
|
||
|
__android_log_print(ANDROID_LOG_INFO, "LIBGL", "%s", this->str().c_str());
|
||
|
this->str().clear();
|
||
|
}
|
||
|
};
|
||
|
static const char * android_endl = "\n";
|
||
|
}
|
||
|
#define cout android_cout()
|
||
|
#define cerr android_cout()
|
||
|
#define endl android_endl
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#define printf(...) __android_log_print(ANDROID_LOG_INFO, "LIBGL", __VA_ARGS__)
|
||
|
/*
|
||
|
// Override fprintf(stderr, ...) constructs
|
||
|
static inline int __sdl_logged_fprintf(FILE *stream, const char *format, ...)
|
||
|
{
|
||
|
int ret = 0;
|
||
|
va_list args;
|
||
|
va_start(args, format);
|
||
|
if( stream == stderr || stream == stdout )
|
||
|
ret = __android_log_vprint(ANDROID_LOG_INFO, "LIBGL", format, args);
|
||
|
else
|
||
|
ret = vfprintf(stream, format, args);
|
||
|
va_end(args);
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
#define fprintf(...) __sdl_logged_fprintf(__VA_ARGS__)
|
||
|
*/
|
||
|
#endif
|
||
|
|