projects
/
awesomized
/
libmemcached
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (from parent 1:
276e5c1
)
Make sure we use the correct strerror() in case someone is using threads.
author
Brian Aker
<brian@tangent.org>
Fri, 17 Jun 2011 21:18:54 +0000
(14:18 -0700)
committer
Brian Aker
<brian@tangent.org>
Fri, 17 Jun 2011 21:18:54 +0000
(14:18 -0700)
libmemcached/error.cc
patch
|
blob
|
history
diff --git
a/libmemcached/error.cc
b/libmemcached/error.cc
index 49375097db884b9555e34d6836c4fafc2a3cd296..5cfb4be29f6f3c45e9699c472b8f2520b65f90cf 100644
(file)
--- a/
libmemcached/error.cc
+++ b/
libmemcached/error.cc
@@
-99,18
+99,35
@@
static void _set(memcached_st& memc, memcached_string_t *str, memcached_return_t
error->rc= rc;
error->local_errno= local_errno;
error->rc= rc;
error->local_errno= local_errno;
+ const char *errmsg_ptr;
+ char errmsg[MAX_ERROR_LENGTH];
+ errmsg[0]= 0;
+ errmsg_ptr= errmsg;
+
+ if (local_errno)
+ {
+#ifdef STRERROR_R_CHAR_P
+ errmsg_ptr= strerror_r(local_errno, errmsg, sizeof(errmsg));
+#else
+ strerror_r(local_errno, errmsg, sizeof(errmsg));
+ errmsg_ptr= errmsg;
+#endif
+ }
+
+
if (str and str->size and local_errno)
{
error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "%s(%s), %.*s -> %s",
memcached_strerror(&memc, rc),
if (str and str->size and local_errno)
{
error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "%s(%s), %.*s -> %s",
memcached_strerror(&memc, rc),
-
strerror(local_errno)
,
+
errmsg_ptr
,
memcached_string_printf(*str), at);
}
else if (local_errno)
{
error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "%s(%s) -> %s",
memcached_strerror(&memc, rc),
memcached_string_printf(*str), at);
}
else if (local_errno)
{
error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "%s(%s) -> %s",
memcached_strerror(&memc, rc),
- strerror(local_errno), at);
+ errmsg_ptr,
+ at);
}
else if (str and str->size)
{
}
else if (str and str->size)
{