axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dr. Florian Steinborn" <>
Subject Re: [AXIS2C] memory management
Date Tue, 19 Jun 2007 07:52:19 GMT
Thanks for the answers - unfortunately it raises more questions...

1. "deep copy" - should this mean to really copy something (by allocating  
new memory) and not just let a pointer to point to a certain piece of  

2. The function axis2_getStringResponse_set_return() is generated. The  
generated function can be seen here.

   * setter for return
axis2_status_t AXIS2_CALL
        axis2_getStringResponse_t* getStringResponse,
        const axutil_env_t *env,
        axis2_char_t*  param_return)

       return AXIS2_FAILURE;
   getStringResponse-> attrib_return = param_return;
   return AXIS2_SUCCESS;

The assignment of param_return does not look like a "deep copy", right? As  
far as I understood, the only files that have to be touched after  
generation are the axis2_skel_<SERVICE>.c files for the business logic...

3. Do I understand correctly, nobody else frees the memory if not the user  
does it? Cannot imagine that - all the generated services would be giantic  
memory holes...

4. Does someone have a reference implementation of a "deep copy" to look  


On Tue, 19 Jun 2007 07:51:31 +0200, Samisa Abeysinghe <>  

> Shailesh Srivastava wrote:
>> Once the response string is formed, you need to free the local memory
>> allocated to "retVal".
> If axis2_getStringResponse_set_return method does a deep copy you can  
> free retVal. This should ideally be freed by  
> axis2_getStringResponse_free method, that is to be called by user.
> Samisa...


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message