You are right in the observation. The fix is not ideal and the string representation will
be used for integers that are greater than 2147483647. From other side the string
representation will be definitely used for any ints that are greater than 4294967295.
Thus the fix can lead to a performance degradation for values between 2147483647 and
4294967296 if the integer is **explicitly** interpreted as unsigned. That is a rare case.
Please correct me if I am wrong there.
From another side the current behaviour is completely
wrong if the result is not **explicitly** interpreted as unsigned. For instance 2
different integers 2626734008 and -1668233288 will be stored as -1668233288 and the
negative value (-1668233288) will be used as pv. I.e. any value in the range (2147483647,
4294967296) will be stored and interpreted as a negative integer. This leads to a strange
service behaviour in my case.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2106#issuecomment-549825678