From 51d3edaafacbe2fade5666c868b57345eb188a5c Mon Sep 17 00:00:00 2001 From: david Date: Fri, 28 Jun 2002 19:14:42 +0000 Subject: [PATCH] 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. --- src/ATC/approach.cxx | 52 +++++++++++++++++++++++++++++++++++--------- src/ATC/approach.hxx | 2 ++ 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/ATC/approach.cxx b/src/ATC/approach.cxx index d5faedd13..c3b2390fc 100644 --- a/src/ATC/approach.cxx +++ b/src/ATC/approach.cxx @@ -31,23 +31,55 @@ # include #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