Files
recycled-ni-neutrino/lib/libdvbsub/Debug.cpp
[CST] Focus 598dc142c7 testing dvb subtitles
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@126 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: cacfc2360b
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2009-12-29 (Tue, 29 Dec 2009)



------------------
This commit was generated by Migit
2009-12-29 18:33:45 +00:00

57 lines
876 B
C++

#include <sys/timeb.h>
#include <time.h>
#include <cstdio>
#include <cstdarg>
#include "Debug.hpp"
Debug::Debug() :
file_(const_cast<char *>("")), level_(0), fp_(stdout)
{
}
Debug::~Debug()
{
if (fp_ && fp_ != stdout) {
fclose(fp_);
}
}
void Debug::set_level(int level)
{
level_ = level;
}
FILE* Debug::set_file(char* file)
{
FILE* fp = fopen(file, "a");
if (!fp) {
return NULL;
}
fp_ = fp;
return fp_;
}
void Debug::print(int level, const char *fmt, ...)
{
va_list argp;
struct timeb tp;
char buf[1024];
char tbuf[20];
int len;
struct tm tv;
if (level < level_) {
ftime(&tp);
localtime_r (&tp.time, &tv);
strftime (tbuf, 14, "%H:%M:%S", &tv);
len = sprintf(buf, "[ %s.%03d ] ", tbuf, tp.millitm);
va_start(argp, fmt);
//vfprintf(fp_, fmt, argp);
vsnprintf (&buf[len], 512, fmt, argp);
va_end(argp);
fprintf(fp_, "%s", buf);
}
}