Alex, you win the cookie! 4 ticks for 30,000 IP addresses! If we ever meet at a 
conference remind me and I will buy you beers. Not saying how namy, just more 
than one. :-)

Bob S


> On Jun 29, 2018, at 16:54 , Alex Tweedly via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> Why not just do it directly (avoid the function call) ...
> 
> function sortIPList2 pIPList
>   set the itemdelimiter to "."
>   try
>      sort lines of pIPList ascending numeric \
>            by (item 1 of each * 16777216) + \
>            (item 2 of each *65536) + \
>            (item 3 of each *256) + \
>            (item 4 of each )
>   catch theError
>      breakpoint
>   end try
>   return pIPList
> end sortIPList2
> 
> or if you prefer ...
>   by item 4 of each + 256 * ( item 3 of each + 256 * (item 2 of each + 256 * 
> item 1 of each ))
> ...
> 
> Alex.
> 
> On 30/06/2018 00:41, hh via use-livecode wrote:
>> Your IP addresses [0-255].[0-255].[0-255].[0-255]
>> are the hex IP numbers converted to base 256.
>> So you may try the following sorting function that
>> converts the IPs from base 256 to base 10 (decimal).
>> 
>> function ip2dec x
>>   set itemdel to "."
>>   repeat with i=0 to 3
>>     add (item 4-i of x)*256^i to y
>>   end repeat
>>   return y
>> end ip2dec
>> 
>> on mouseUp
>>   put fld "ips" into s
>>   sort s numeric by ip2dec(each) # <----
>>   put s into fld "out"
>> end mouseUp
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to