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

Reply via email to