traverse is intended to walk the data structure from the beginning.
Node "1" is the first child node (node 0 is the "root" of the tree).
Nodes are referred to by number rather than pointer because the node
storage can be re-allocated if the pn_data object grows which changes
the node addresses. So while your fix may solve your immediate problem
it is not correct in general.
Can you post a small C program that illustrates the error? That would
help to figure out the problem.
On Sun, 2015-12-06 at 23:36 -0700, sanddune008 wrote:
> I see that following function pn_message_encode() returns -2 with
> send.c
> example.
>
> My findings, Kindly review the below code:
>
> Changes made to fix is highlighted in bold, What is the significance
> of
> passing '1' first node?
>
> int *pni_data_traverse*(pn_data_t *data,
> int (*enter)(void *ctx, pn_data_t *data,
> pni_node_t
> *node),
> int (*exit)(void *ctx, pn_data_t *data,
> pni_node_t
> *node),
> void *ctx)
> {
> *pni_node_t *node = data->size ? pn_data_node(data, data->current)
> :
> NULL;*
> //pni_node_t *node = data->size ? pn_data_node(data,* 1*) : NULL;
>
>
> Thanks in Advance
>
>
>
>
>
> --
> View this message in context: http://qpid.2158936.n2.nabble.com/Funct
> ion-pn-message-encode-returns-2-tp7634948.html
> Sent from the Apache Qpid Proton mailing list archive at Nabble.com.