/*****************************************************************************
- * RRDtool 1.1.x Copyright Tobias Oetiker, 1997 - 2002
+ * RRDtool 1.3.0 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest <peter@stamfest.at>
* & Tobias Oetiker
* Distributed under the GPL
#include "rrd_tool.h"
#define MAXLEN 4096
#define ERRBUFLEN 256
-static char rrd_error[MAXLEN] = "\0";
-static char rrd_liberror[ERRBUFLEN] = "\0";
+
/* The global context is very useful in the transition period to even
more thread-safe stuff, it can be used whereever we need a context
and do not need to worry about concurrency. */
-static struct rrd_context global_ctx = {
- sizeof(rrd_error),
- sizeof(rrd_liberror),
- rrd_error,
- rrd_liberror
+static rrd_context_t global_ctx = {
+ "",
+ ""
};
-#include <stdarg.h>
-struct rrd_context *rrd_get_context() {
+/* #include <stdarg.h> */
+
+rrd_context_t *rrd_get_context(
+ void)
+{
return &global_ctx;
}
-const char *rrd_strerror(int err) {
+/* how ugly that is!!! - make sure strerror is what it should be. It
+ might be redefined to help in keeping other modules thread safe by
+ silently turning misplaced strerror into rrd_strerror, but here
+ this turns recursive! */
+#undef strerror
+const char *rrd_strerror(
+ int err)
+{
return strerror(err);
}