1
0
Fork 0

Patch from Melchior Franz:

This patch eliminates about 10 of valgrind's "Use of uninitialised
value of size ..." messages. They are all caused by approachlist building
incomplete FGApproach class instances and then copying them into the
approchlist container, hence copying data garbage.
   I know, I couldn't win a beauty contest with this patch, but the
alternative approach -- letting operator<< always leave complete
entries -- didn't look any better. And I do only add those seemingly
useless initialization where the values would be used uninitialized
else. The constructors are only run during setup and won't slow fgfs
down at runtime.
This commit is contained in:
david 2002-06-28 19:14:42 +00:00
parent 0c4c182f1e
commit 51d3edaafa
2 changed files with 44 additions and 10 deletions

View file

@ -31,23 +31,55 @@
# include <Environment/environment.hxx>
#endif
PlaneApp::PlaneApp()
:
ident(""),
lon(0.0),
lat(0.0),
alt(0.0),
hdg(0.0),
dist(0.0),
brg(0.0),
spd(0.0),
contact(0),
wpn(0),
dnwp(-999.),
dcc(0.0),
dnc(0.0),
aalt(0.0),
ahdg(0.0),
on_crs(true),
tlm(0.0)
{
}
//Constructor
FGApproach::FGApproach(){
FGApproach::FGApproach()
: type(0),
lon(0.0), lat(0.0), elev(0.0),
x(0.0), y(0.0), z(0.0),
freq(0),
bucket(0),
range(0.0),
active_runway(""),
active_rw_hdg(0.0),
display(false),
displaying(false),
ident(""),
name(""),
num_planes(0),
transmission(""),
first(true),
trans_ident(""),
approach_failed(false)
{
comm1_node = fgGetNode("/radios/comm[0]/frequencies/selected-mhz", true);
comm2_node = fgGetNode("/radios/comm[1]/frequencies/selected-mhz", true);
num_planes = 0;
lon_node = fgGetNode("/position/longitude-deg", true);
lat_node = fgGetNode("/position/latitude-deg", true);
elev_node = fgGetNode("/position/altitude-ft", true);
first = true;
active_runway = "";
for ( int i=0; i<max_planes; i++) {
planes[i].contact = 0;
planes[i].wpn = 0;
planes[i].dnwp = -999.;
planes[i].on_crs = true;
}
}
//Destructor

View file

@ -94,6 +94,8 @@ struct PlaneApp {
double ahdg; // assigned heading
bool on_crs; // is the plane on course?
double tlm; // time when last message was sent
PlaneApp(void);
};