summaryrefslogtreecommitdiff
path: root/deps/cares/src/ares_strdup.c
diff options
context:
space:
mode:
authorFedor Indutny <fedor@indutny.com>2016-02-04 16:34:47 -0500
committerFedor Indutny <fedor@indutny.com>2016-02-08 14:44:19 -0500
commit1258b0166dc6e68c2592be3410e54d5cb19bc04b (patch)
tree5f21d4a0c2789b78c231e6b2c9fbd6ac29ddac4c /deps/cares/src/ares_strdup.c
parent106c6cfe98db21cc62d339056710491550f69565 (diff)
downloadandroid-node-v8-1258b0166dc6e68c2592be3410e54d5cb19bc04b.tar.gz
android-node-v8-1258b0166dc6e68c2592be3410e54d5cb19bc04b.tar.bz2
android-node-v8-1258b0166dc6e68c2592be3410e54d5cb19bc04b.zip
deps: sync with upstream bagder/c-ares@2bae2d5
PR-URL: https://github.com/nodejs/node/pull/5090 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Diffstat (limited to 'deps/cares/src/ares_strdup.c')
-rw-r--r--deps/cares/src/ares_strdup.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/deps/cares/src/ares_strdup.c b/deps/cares/src/ares_strdup.c
index 18043274e9..0c3dcffc30 100644
--- a/deps/cares/src/ares_strdup.c
+++ b/deps/cares/src/ares_strdup.c
@@ -17,26 +17,33 @@
#include "ares_setup.h"
#include "ares_strdup.h"
+#include "ares.h"
+#include "ares_private.h"
-#ifndef HAVE_STRDUP
char *ares_strdup(const char *s1)
{
- size_t sz;
- char * s2;
+#ifdef HAVE_STRDUP
+ if (ares_malloc == malloc)
+ return strdup(s1);
+ else
+#endif
+ {
+ size_t sz;
+ char * s2;
- if(s1) {
- sz = strlen(s1);
- if(sz < (size_t)-1) {
- sz++;
- if(sz < ((size_t)-1) / sizeof(char)) {
- s2 = malloc(sz * sizeof(char));
- if(s2) {
- memcpy(s2, s1, sz * sizeof(char));
- return s2;
+ if(s1) {
+ sz = strlen(s1);
+ if(sz < (size_t)-1) {
+ sz++;
+ if(sz < ((size_t)-1) / sizeof(char)) {
+ s2 = ares_malloc(sz * sizeof(char));
+ if(s2) {
+ memcpy(s2, s1, sz * sizeof(char));
+ return s2;
+ }
}
}
}
+ return (char *)NULL;
}
- return (char *)NULL;
}
-#endif