summaryrefslogtreecommitdiff
path: root/muggle-plugin/mg_tools.c
diff options
context:
space:
mode:
authorLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2004-02-01 18:22:52 +0000
committerLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2004-02-01 18:22:52 +0000
commit9ffff4626dbb713e2fa6e025868928393ebf2ae7 (patch)
treeebe95d53808375beaed9f2c4ea2d17e7e8cb01de /muggle-plugin/mg_tools.c
parent717ec9a2d6e43a61ccff152a8d887fdb8e8f303e (diff)
downloadvdr-plugin-muggle-9ffff4626dbb713e2fa6e025868928393ebf2ae7.tar.gz
vdr-plugin-muggle-9ffff4626dbb713e2fa6e025868928393ebf2ae7.tar.bz2
Initial revision
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk@3 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'muggle-plugin/mg_tools.c')
-rw-r--r--muggle-plugin/mg_tools.c140
1 files changed, 140 insertions, 0 deletions
diff --git a/muggle-plugin/mg_tools.c b/muggle-plugin/mg_tools.c
new file mode 100644
index 0000000..b540a4e
--- /dev/null
+++ b/muggle-plugin/mg_tools.c
@@ -0,0 +1,140 @@
+/*******************************************************************/
+/*! \file muggle_tools.cpp
+ * \brief A few util functions for standalone and plugin messaging
+ * for the vdr muggle plugindatabase
+ ********************************************************************
+ * \version $Revision: 1.1 $
+ * \date $Date: 2004/02/01 18:22:53 $
+ * \author Ralf Klueber, Lars von Wedel, Andreas Kellner
+ * \author file owner: $Author: LarsAC $
+ *
+ */
+/*******************************************************************/
+
+#include "mg_tools.h"
+
+extern "C"
+{
+ #include <stdarg.h>
+ #include <stdio.h>
+}
+#include <stdlib.h>
+
+
+#define MAX_BUFLEN 1024
+#define MAX_QUERY_BUFLEN 1024
+static char buffer[MAX_BUFLEN];
+static char querybuf[MAX_QUERY_BUFLEN];
+
+static int DEBUG_LEVEL=3;
+
+void mgSetDebugLevel(int new_level)
+{
+ DEBUG_LEVEL = new_level;
+}
+
+void mgDebug(int level, const char *fmt, ...)
+{
+
+ va_list ap;
+ if(level <= DEBUG_LEVEL)
+ {
+ va_start(ap, fmt);
+
+ vsnprintf(buffer, MAX_BUFLEN-1, fmt, ap);
+ if(STANDALONE)
+ {
+ fprintf(stderr, "dbg %d: %s\n", level, buffer);
+ }
+ else
+ {
+#if !STANDALONE
+ isyslog( "%s\n", buffer);
+#endif
+ }
+ }
+ va_end(ap);
+}
+
+void mgDebug( const char *fmt, ... )
+{
+ va_list ap;
+ va_start( ap, fmt );
+ mgDebug( 1, fmt, ap );
+}
+
+
+void mgWarning(const char *fmt, ...)
+{
+
+ va_list ap;
+
+ va_start(ap, fmt);
+
+ vsnprintf(buffer, MAX_BUFLEN-1, fmt, ap);
+ if(STANDALONE)
+ {
+ fprintf(stderr, "warning: %s\n", buffer);
+ }
+ else
+ {
+#if !STANDALONE
+ isyslog( "Warning: %s\n", buffer);
+#endif
+
+ }
+
+ va_end(ap);
+}
+
+void mgError(const char *fmt, ...)
+{
+
+ va_list ap;
+
+ va_start(ap, fmt);
+
+ vsnprintf(buffer, MAX_BUFLEN-1, fmt, ap);
+ if(STANDALONE)
+ {
+ fprintf(stderr, "Error: %s\n", buffer);
+ exit(1);
+ }
+ else
+ {
+#if !STANDALONE
+ isyslog( "Error in Muggle: %s\n", buffer);
+#endif
+ }
+
+ va_end(ap);
+}
+
+MYSQL_RES* mgSqlReadQuery(MYSQL *db, const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+
+ vsnprintf(querybuf, MAX_QUERY_BUFLEN-1, fmt, ap);
+ mgDebug(9, "SQL-Query: '%s'",querybuf);
+ if(mysql_query(db,querybuf))
+ {
+ mgError("SQL error in MUGGLE\n%s\n", querybuf);
+ }
+ return mysql_store_result(db);
+}
+
+void mgSqlWriteQuery(MYSQL *db, const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+
+ vsnprintf(querybuf, MAX_QUERY_BUFLEN-1, fmt, ap);
+ if(mysql_query(db,querybuf))
+ {
+ mgError("SQL error in MUGGLE\n%s\n", querybuf);
+ }
+}
+