On Feb 1, 2012, at 8:42 AM, Juraj Fabo wrote:
Hi
I'm using freetdm from git downloaded on 30.1.2012. On windows I had no problems, but on sles 11 sp1 64bit call setup message was missing caller and called information elements. I've tracked down the problem to file src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c, into function get_trillium_val() Particularly, when get_trillium_val(ton_codes, 0, IN_TON_UNK) is called, 0xe6 is returned (which is from the nsf_spec_codes[] table) I think the loop should have some strict terminate condition but not sure about the write intention. My workaround to be able to continue development is following
diff -urN src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support_mod.c --- src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 2012-02-01 14:02:30.000000000 +0000 +++ src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support_mod.c 2012-02-01 14:02:08.000000000 +0000 @@ -106,10 +106,11 @@ static uint8_t get_trillium_val(ftdm2trillium_t *vals, uint8_t ftdm_val, uint8_t default_val) { ftdm2trillium_t *val = vals; - while(val++) { + while(val) { if (val->ftdm_val == ftdm_val) { return val->trillium_val; } + val++; } return default_val; } @@ -117,10 +118,11 @@ static uint8_t get_ftdm_val(ftdm2trillium_t *vals, uint8_t trillium_val, uint8_t default_val) { ftdm2trillium_t *val = vals; - while(val++) { + while(val) { if (val->trillium_val == trillium_val) { return val->ftdm_val; } + val++; } return default_val; }
Is there some other way how to go around?
All that looping code was f'd up pretty bad and it was fixed yesterday. Update to see the fix. *Moises Silva **Software Engineer, Development Manager*** msilva@sangoma.com Sangoma Technologies 100 Renfrew Drive, Suite 100, Markham, ON L3R 9R6 Canada t. +1 800 388 2475 (N. America) t. +1 905 474 1990 x128 f. +1 905 474 9223 **<http://www.sangoma.com/contact?utm_source=signature&utm_medium=email&utm_campaign=email+signatures> Products<http://sangoma.com/products?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures> | Solutions<http://sangoma.com/solutions?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures> | Events<http://sangoma.com/about_us/events?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures> | Contact<http://www.sangoma.com/contact?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures> | Wiki<http://wiki.sangoma.com/?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures> | Facebook<http://www.facebook.com/pages/Sangoma-VoIP-Cards/43578453335?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures> | Twitter<http://www.twitter.com/sangoma?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures>`| | YouTube<http://www.youtube.com/sangomatechnologies?utm_source=signature&utm_medium=email&utm_campaign=email%2Bsignatures>