projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Fixing failure of socket issue.
[m6w6/libmemcached]
/
lib
/
memcached_string.c
diff --git
a/lib/memcached_string.c
b/lib/memcached_string.c
index 42f3c326767f112c3ed071fd9a8b215bff85a7df..300f10f2bc459967ee3ff66d1830830f4fd2095b 100644
(file)
--- a/
lib/memcached_string.c
+++ b/
lib/memcached_string.c
@@
-70,6
+70,8
@@
memcached_return memcached_string_append_character(memcached_string_st *string,
{
memcached_return rc;
{
memcached_return rc;
+ WATCHPOINT_ASSERT(string->is_allocated != MEMCACHED_USED);
+
rc= memcached_string_check(string, 1);
if (rc != MEMCACHED_SUCCESS)
rc= memcached_string_check(string, 1);
if (rc != MEMCACHED_SUCCESS)
@@
-86,6
+88,8
@@
memcached_return memcached_string_append(memcached_string_st *string,
{
memcached_return rc;
{
memcached_return rc;
+ WATCHPOINT_ASSERT(string->is_allocated != MEMCACHED_USED);
+
rc= memcached_string_check(string, length);
if (rc != MEMCACHED_SUCCESS)
rc= memcached_string_check(string, length);
if (rc != MEMCACHED_SUCCESS)
@@
-103,6
+107,8
@@
memcached_return memcached_string_append(memcached_string_st *string,
size_t memcached_string_backspace(memcached_string_st *string, size_t remove)
{
size_t memcached_string_backspace(memcached_string_st *string, size_t remove)
{
+ WATCHPOINT_ASSERT(string->is_allocated != MEMCACHED_USED);
+
if (string->end - string->string > remove)
{
size_t difference;
if (string->end - string->string > remove)
{
size_t difference;
@@
-120,6
+126,9
@@
size_t memcached_string_backspace(memcached_string_st *string, size_t remove)
char *memcached_string_c_copy(memcached_string_st *string)
{
char *c_ptr;
char *memcached_string_c_copy(memcached_string_st *string)
{
char *c_ptr;
+
+ WATCHPOINT_ASSERT(string->is_allocated != MEMCACHED_USED);
+
c_ptr= (char *)malloc(memcached_string_length(string) * sizeof(char));
if (!c_ptr)
return NULL;
c_ptr= (char *)malloc(memcached_string_length(string) * sizeof(char));
if (!c_ptr)
return NULL;
@@
-131,15
+140,22
@@
char *memcached_string_c_copy(memcached_string_st *string)
memcached_return memcached_string_reset(memcached_string_st *string)
{
memcached_return memcached_string_reset(memcached_string_st *string)
{
+ WATCHPOINT_ASSERT(string->is_allocated != MEMCACHED_USED);
string->end= string->string;
return MEMCACHED_SUCCESS;
}
string->end= string->string;
return MEMCACHED_SUCCESS;
}
-void memcached_string_free(memcached_string_st *
string
)
+void memcached_string_free(memcached_string_st *
ptr
)
{
{
- if (string->string)
- free(string->string);
- if (string->is_allocated == MEMCACHED_ALLOCATED)
- free(string);
+ if (ptr == NULL)
+ return;
+
+ if (ptr->string)
+ free(ptr->string);
+
+ if (ptr->is_allocated == MEMCACHED_ALLOCATED)
+ free(ptr);
+ else
+ ptr->is_allocated= MEMCACHED_USED;
}
}