index 1c03863f6e16d152d6be58c05157b5e9fc379411..d9fdea34c3c47cd6427f826404084bff323066e6 100644 (file)
/*****************************************************************************
- * RRDtool 1.2rc9 Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.24 Copyright by Tobi Oetiker, 1997-2007
* This file: Copyright 2003 Peter Stamfest <peter@stamfest.at>
* & Tobias Oetiker
* Distributed under the GPL
#ifdef HAVE_STRERROR_R
const char *rrd_strerror(int err) {
struct rrd_context *ctx = rrd_get_context();
- return strerror_r(err, ctx->lib_errstr, ctx->errlen);
+ if (strerror_r(err, ctx->lib_errstr, ctx->errlen))
+ return "strerror_r faild. sorry!";
+ else
+ return ctx->lib_errstr;
}
#else
#undef strerror
ctx = rrd_get_context();
pthread_mutex_lock(&mtx);
strncpy(ctx->lib_errstr, strerror(err), ctx->errlen);
+ ctx->lib_errstr[ctx->errlen]='\0';
pthread_mutex_unlock(&mtx);
return ctx->lib_errstr;
}