123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #include "curl_setup.h"
- #include <curl/curl.h>
- #include "strdup.h"
- #include "curl_memory.h"
- #include "memdebug.h"
- #ifndef HAVE_STRDUP
- char *curlx_strdup(const char *str)
- {
- size_t len;
- char *newstr;
- if(!str)
- return (char *)NULL;
- len = strlen(str);
- if(len >= ((size_t)-1) / sizeof(char))
- return (char *)NULL;
- newstr = malloc((len + 1)*sizeof(char));
- if(!newstr)
- return (char *)NULL;
- memcpy(newstr, str, (len + 1)*sizeof(char));
- return newstr;
- }
- #endif
- void *Curl_memdup(const void *src, size_t length)
- {
- void *buffer = malloc(length);
- if(!buffer)
- return NULL;
- memcpy(buffer, src, length);
- return buffer;
- }
- void *Curl_saferealloc(void *ptr, size_t size)
- {
- void *datap = realloc(ptr, size);
- if(size && !datap)
-
- free(ptr);
- return datap;
- }
|