Hi again,
... "active_wifis" and "&active_wifis" are the same ...
So, forget the comment.
The origin of the pointer error, as Edward said, is in the list of my
neighbouring active wifi points.
Now, i am in another house:
# ./backend 6
ESSID:"Orange-F879"
ESSID:"WLAN_74B3"
ESSID:"Orange-3ECB"
ESSID:"WLAN_75"
ESSID:"PRADOFORD2"
and autoconnection attempts work:
# ./backend 10
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/00:1b:9e:5f:67:46
Sending on LPF/wlan0/00:1b:9e:5f:67:46
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.1.1
DHCPACK from 192.168.1.1
bound to 192.168.1.101 -- renewal in 2147483648 seconds.
Aitor.
On 12/10/2015 10:07 AM, aitor_czr wrote:
Changing from:
realloc(active_wifis
to:
realloc(&active_wifis .....
the pointer error disappears:
# ./backend 10
/sbin/ifup: interface wlan0 already configured
:)
Aitor.
On 12/10/2015 09:58 AM, aitor_czr <aitor_...@gnuinos.org> wrote:
Sorry:
printf("\nactive_wifis = %i\n\n", *active_wifis);
On 12/10/2015 09:30 AM, aitor_czr wrote:
>Hi Edward,
>
>The value of the integer parameter 'active_wifis', passed by reference
>to 'getRadiatingWifiList' is lost. I added the following line 232:
>
>[....]
>
>*active_wifis = -1;
>char* tmp_buffer = scan_buffer;
>printf("\nactive_wifis = %i\n\n", active_wifis); /***** ADDED LINE ****/
>while((scan_buffer = fgets(scan_buffer, 1024, shell_reader)))
>{
> z++;
> if (z == 1)
> active_wifi_list = calloc(sizeof(void*), 10);
>
>[....]
>
>And this is what i get running ./backend 10:
>
># ./backend 10
>
>active_wifis = -877165076
>
>*** Error in `./backend': realloc(): invalid pointer:
>0x00007fff124a3424 ***
>Aborted
>
>Cheers,
>
> Aitor.
>
>On 12/06/2015 03:19 PM, Edward Bartolo wrote:
>>Hi Aitor,
>>
>>This is my latest edit of the code so that memory allocations are done
>>when needed instead of the iteration just before more memory is
>>required.
>>
>>The edited code:
>> if (z == 1)
>> active_wifi_list = calloc(10, sizeof(void*));
>> else if ((z - 1) % 20 == 0)
>> active_wifi_list = realloc(active_wifis, (((z - 1)/2)
+ 10)*sizeof(void*));
>>
>>
>>Edward
>>
>>On 06/12/2015, aitor_czr<aitor_...@gnuinos.org> wrote:
>>> >Hi Edward,
>>> >
>>> >I will try it later, thanks:)
>>> >
>>> > Aitor.
>>> >
>>> >On 12/06/2015 01:10 PM, Edward Bartolo wrote:
>>>> >>Hi Aitor,
>>>> >>
>>>> >>I edited the code as follows:
>>>> >>
>>>> >> if (z == 1)
>>>> >> active_wifi_list = calloc(10, sizeof(void*));
>>>> >> else if (z % 20 == 0)
>>>> >> active_wifi_list = realloc(active_wifis, ((z/2) +
10)*sizeof(void*));
>>>> >>
>>>> >>Please, if you can run the code and reply back whether it worked. My
>>>> >>neighbourhood has less than 10 active wifi repeaters.
>>>> >>
>>>> >>Edward
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng