Fair point, ignore this patch in that case :)
On 26 September 2016 at 19:43, Stipe Tolj <[email protected]> wrote:
> Am 26.09.2016 19:38, schrieb Donald Jackson:
>
>> As I say this is semantics, its not entirely necessary.
>>
>> Usually in library functions they are compatible with each other, eg:
>>
>> SMPP_PDU *pdu = smpp_pdu_unpack(smpp_pdu_pack(data));
>>
>> Would work, but in Kannel's case this doesn't work as the one function
>> uses length and the other does not. So the third party user has to now
>> worry about PDU internals to get the functions to work together.
>>
>
> yeah, but looping in a "use-less" if condition for ever SMPP unpacking,
> JUST to make it sweet for the 3rd package is not justified IMO.
>
> I.e. here is what I do in smppbox's gw lib code for duplicating an SMPP
> PDU struct:
>
> SMPP_PDU *smpp_pdu_duplicate(Octstr *esme, SMPP_PDU *pdu)
> {
> SMPP_PDU *ret = NULL;
> Octstr *os, *os2;
>
> gw_assert(pdu != NULL);
>
> /*
> * We use a kludge here, we pack the PDU
> * then duplicate the packed data and unpack
> * it again to a PDU structure.
> */
> if ((os = SMPP_PDU_PACK(esme, pdu)) != NULL) {
> /* remove first 4 bytes, length indicator */
> os2 = octstr_copy(os, 4, octstr_len(os)-4);
> octstr_destroy(os);
> ret = SMPP_PDU_UNPACK(esme, os2);
> octstr_destroy(os2);
> }
>
> return ret;
>
> }
>
> Stipe
>
> --
> Best Regards,
> Stipe Tolj
>
> -------------------------------------------------------------------
> Düsseldorf, NRW, Germany
>
> Kannel Foundation tolj.org system architecture
> http://www.kannel.org/ http://www.tolj.org/
>
> stolj at kannel.org st at tolj.org
> -------------------------------------------------------------------
>
>
--
Donald Jackson