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
memory?
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_set_return(
axis2_getStringResponse_t* getStringResponse,
const axutil_env_t *env,
axis2_char_t* param_return)
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
if(!getStringResponse)
{
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
at?
Thanks,
Flori
On Tue, 19 Jun 2007 07:51:31 +0200, Samisa Abeysinghe <[EMAIL PROTECTED]>
wrote:
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]