Completed check of pointers to be valid.

If a parameter (start pitbuildings, stop pitbuildings) is not defined, use pitStart or pitEnd as default replacement.
Do not use undefined pointers for GfOut statements

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6387 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 624bba9d585bbb87101ae7694ab7f4b5c313b4cf
Former-commit-id: d48aac1b56e0360ed9dcef54773298bfdeda4582
This commit is contained in:
wdbee 2016-03-21 17:43:39 +00:00
parent c9e7bb4fd0
commit 1ccf364c6f
3 changed files with 146 additions and 130 deletions

View file

@ -1382,6 +1382,8 @@ ReadTrack3(tTrack *theTrack, void *TrackHandle, tRoadCam **camList, int ext)
}
}
if (pitStart != NULL) {
segName = GfParmGetStr(TrackHandle, TRK_SECT_MAIN, TRK_ATT_BUILDINGS_START, NULL);
if (segName != 0) {
pitBuildingsStart = theTrack->seg;
@ -1401,6 +1403,7 @@ ReadTrack3(tTrack *theTrack, void *TrackHandle, tRoadCam **camList, int ext)
} else {
pitBuildingsStart = pitStart;
}
}
segName = GfParmGetStr(TrackHandle, TRK_SECT_MAIN, TRK_ATT_PIT_END, NULL);
if (segName != 0) {
@ -1419,6 +1422,7 @@ ReadTrack3(tTrack *theTrack, void *TrackHandle, tRoadCam **camList, int ext)
pitEnd = NULL;
}
if (pitEnd != NULL) {
segName = GfParmGetStr(TrackHandle, TRK_SECT_MAIN, TRK_ATT_BUILDINGS_STOP, NULL);
if (segName != 0) {
pitBuildingsEnd = theTrack->seg;
@ -1437,6 +1441,8 @@ ReadTrack3(tTrack *theTrack, void *TrackHandle, tRoadCam **camList, int ext)
pitBuildingsEnd = pitEnd;
}
}
}
paramVal = GfParmGetStr(TrackHandle, TRK_SECT_MAIN, TRK_ATT_PIT_SIDE, "right");
if (strcmp(paramVal, "right") == 0) {
pits->side = TR_RGT;

View file

@ -813,10 +813,10 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
}
pitEntrySeg = pitEntrySeg->prev;
}// for i
if (!found) {
pitEntrySeg = NULL;
}
if (found)
GfOut("PitEntry: %s\n", pitEntrySeg->name);
else
pitEntrySeg = NULL;
//Search for pit exit
segName = GfParmGetStrNC(TrackHandle, path2, TRK_ATT_EXIT, NULL);
@ -832,11 +832,11 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
}
pitExitSeg = pitExitSeg->prev;
}
if (!found) {
if (found)
GfOut("PitExit: %s\n", pitExitSeg->name);
else
pitExitSeg = NULL;
}
}
GfOut("PitExit: %s\n", pitExitSeg->name);
//Search for pits start
segName = GfParmGetStrNC(TrackHandle, path2, TRK_ATT_START, NULL);
@ -856,6 +856,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitStart = NULL;
}
}
if (pitStart != NULL) {
GfOut("PitStart: %s\n", pitStart->name);
//Search for pit buildings start
@ -879,6 +880,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitBuildingsStart = pitStart;
}
GfOut("PitBuildingStart: %s\n", pitBuildingsStart->name);
}
//Search for pits end
segName = GfParmGetStrNC(TrackHandle, path2, TRK_ATT_END, NULL);
@ -897,6 +899,8 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitEnd = NULL;
}
}
if (pitEnd != NULL) {
GfOut("PitEnd: %s\n", pitEnd->name);
//Search for pit buildings end
@ -919,6 +923,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitBuildingsEnd = pitEnd;
}
GfOut("PitBuildungsEnd: %s\n", pitBuildingsEnd->name);
}
//Decide which side the pit is located
const char *paramVal = GfParmGetStr(TrackHandle, path2, TRK_ATT_SIDE, "right");

View file

@ -837,10 +837,11 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
}
pitEntrySeg = pitEntrySeg->prev;
}// for i
if (!found) {
pitEntrySeg = NULL;
}
if (found)
GfOut("PitEntry: %s\n", pitEntrySeg->name);
else
pitEntrySeg = NULL;
//Search for pit exit
segName = GfParmGetStrNC(TrackHandle, path2, TRK_ATT_EXIT, NULL);
@ -856,11 +857,11 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
}
pitExitSeg = pitExitSeg->prev;
}
if (!found) {
if (found)
GfOut("PitExit: %s\n", pitExitSeg->name);
else
pitExitSeg = NULL;
}
}
GfOut("PitExit: %s\n", pitExitSeg->name);
//Search for pits start
segName = GfParmGetStrNC(TrackHandle, path2, TRK_ATT_START, NULL);
@ -880,6 +881,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitStart = NULL;
}
}
if (pitStart != NULL) {
GfOut("PitStart: %s\n", pitStart->name);
//Search for pit buildings start
@ -903,6 +905,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitBuildingsStart = pitStart;
}
GfOut("PitBuildingStart: %s\n", pitBuildingsStart->name);
}
//Search for pits end
segName = GfParmGetStrNC(TrackHandle, path2, TRK_ATT_END, NULL);
@ -927,6 +930,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitEnd = NULL;
}
}
if (pitEnd != NULL) {
GfOut("PitEnd: %s\n", pitEnd->name);
//Search for pit buildings end
@ -949,6 +953,7 @@ static bool InitPits(tTrack *theTrack, void *TrackHandle) {
pitBuildingsEnd = pitEnd;
}
GfOut("PitBuildungsEnd: %s\n", pitBuildingsEnd->name);
}
//Decide which side the pit is located
const char *paramVal = GfParmGetStr(TrackHandle, path2, TRK_ATT_SIDE, "right");