summaryrefslogtreecommitdiff
path: root/mg_tools.c
diff options
context:
space:
mode:
Diffstat (limited to 'mg_tools.c')
-rw-r--r--mg_tools.c69
1 files changed, 64 insertions, 5 deletions
diff --git a/mg_tools.c b/mg_tools.c
index 147f9c7..1f8654b 100644
--- a/mg_tools.c
+++ b/mg_tools.c
@@ -8,13 +8,13 @@
* \author file owner: $Author$
*/
-#include "mg_tools.h"
-
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
+#include "mg_tools.h"
+
//! \brief buffer for messages
#define MAX_BUFLEN 2048
@@ -22,6 +22,7 @@ static char buffer[MAX_BUFLEN];
static int DEBUG_LEVEL = 3;
+
void
mgSetDebugLevel (int new_level)
{
@@ -40,6 +41,7 @@ mgDebug (int level, const char *fmt, ...)
vsnprintf (buffer, MAX_BUFLEN - 1, fmt, ap);
syslog(LOG_DEBUG,"%s\n",buffer);
+ fprintf(stderr,"%s\n",buffer);
}
va_end (ap);
}
@@ -51,8 +53,10 @@ mgDebug (const char *fmt, ...)
va_list ap;
va_start (ap, fmt);
mgDebug (1, fmt, ap);
+ va_end (ap);
}
+extern void showmessage(int duration,const char*,...);
void
mgWarning (const char *fmt, ...)
@@ -61,10 +65,9 @@ mgWarning (const char *fmt, ...)
va_list ap;
va_start (ap, fmt);
vsnprintf (buffer, MAX_BUFLEN - 1, fmt, ap);
-
syslog(LOG_INFO,"Warning: %s\n",buffer);
- extern void showmessage(const char*,int duration=0);
- showmessage(buffer);
+ fprintf(stderr,"%s\n",buffer);
+ showmessage(0,buffer);
va_end (ap);
}
@@ -78,6 +81,8 @@ mgError (const char *fmt, ...)
vsnprintf (buffer, MAX_BUFLEN - 1, fmt, ap);
syslog (LOG_ERR,"Error in Muggle: %s\n", buffer);
+ fprintf(stderr,"%s\n",buffer);
+ showmessage(0,buffer);
va_end (ap);
}
@@ -116,3 +121,57 @@ SeparateFolders(const char *filename, char * folders[],unsigned int fcount)
return fbuf;
}
+string&
+addsep (string & s, string sep, string n)
+{
+ if (!n.empty ())
+ {
+ if (!s.empty ())
+ s.append (sep);
+ s.append (n);
+ }
+ return s;
+}
+
+
+string
+comma (string & s, string n)
+{
+ return addsep (s, ",", n);
+}
+
+//! \brief converts long to string
+string
+itos (int i)
+{
+ std::stringstream s;
+ s << i;
+ return s.str ();
+}
+
+//! \brief convert long to string
+string
+ltos (long l)
+{
+ std::stringstream s;
+ s << l;
+ return s.str ();
+}
+
+char *
+extension(const char *filename)
+{
+ char *dot = strrchr(filename,'.');
+ if (!dot)
+ dot = strrchr(filename,0)-1;
+ return dot+1;
+}
+
+bool
+notempty(const char *s)
+{
+ if (!s)
+ return false;
+ else
+ return strlen(s);
+}