[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] Initialization of global variables
From: |
Piotr Piwko |
Subject: |
[lwip-users] Initialization of global variables |
Date: |
Fri, 5 Nov 2010 19:36:12 +0100 |
Hello,
I currently implement the LwIP stack under u-boot environment and I
have one notice regarding global variables initialization. I think
that every global variable which are not static should be initialized
by NULL or 0 value. I mean for example:
file tcp.c:
struct tcp_pcb *tcp_bound_pcbs;
union tcp_listen_pcbs_t tcp_listen_pcbs;
struct tcp_pcb *tcp_active_pcbs;
struct tcp_pcb *tcp_tw_pcbs;
file udp.c:
struct udp_pcb *udp_pcbs;
file netif.c:
struct netif *netif_list;
struct netif *netif_default;
If I leave they uninitialized, after compilation and link operation
they will contain random values which causes the system crash during
LwIP initialized functions. Assumption that they will be automatically
filled by 0 is wrong and non-portable.
This modification can really save a lot of time during integration :)
Anyway I am impressed with LwIP project. It is very useful part of
software. Good job guys!
Regards,
--
Piotr Piwko
http://www.embedded-engineering.pl/
- [lwip-users] Initialization of global variables,
Piotr Piwko <=
Re: [lwip-users] Initialization of global variables, Simon Goldschmidt, 2010/11/05