Merge pull request #1816 from noahmetzger/winfix

Fix issues detected by Coverity Scan
This commit is contained in:
zdenop 2018-08-01 14:45:00 +02:00 committed by GitHub
commit b23568f3d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -379,54 +379,62 @@ void ComputeDirection(MFEDGEPT *Start,
MFEDGEPT *Finish,
float MinSlope,
float MaxSlope) {
FVECTOR Delta;
Delta.x = Finish->Point.x - Start->Point.x;
Delta.y = Finish->Point.y - Start->Point.y;
if (Delta.x == 0)
if (Delta.y < 0) {
Start->Slope = -FLT_MAX;
Start->Direction = south;
}
else {
Start->Slope = FLT_MAX;
Start->Direction = north;
}
else {
Start->Slope = Delta.y / Delta.x;
if (Delta.x > 0)
if (Delta.y > 0)
if (Start->Slope > MinSlope)
if (Start->Slope < MaxSlope)
Start->Direction = northeast;
else
Start->Direction = north;
else
Start->Direction = east;
else if (Start->Slope < -MinSlope)
if (Start->Slope > -MaxSlope)
Start->Direction = southeast;
else
Start->Direction = south;
else
Start->Direction = east;
else if (Delta.y > 0)
if (Start->Slope < -MinSlope)
if (Start->Slope > -MaxSlope)
Start->Direction = northwest;
else
Start->Direction = north;
else
Start->Direction = west;
else if (Start->Slope > MinSlope)
if (Start->Slope < MaxSlope)
Start->Direction = southwest;
else
Start->Direction = south;
else
Start->Direction = west;
}
Finish->PreviousDirection = Start->Direction;
FVECTOR Delta;
Delta.x = Finish->Point.x - Start->Point.x;
Delta.y = Finish->Point.y - Start->Point.y;
if (Delta.x == 0) {
if (Delta.y < 0) {
Start->Slope = -FLT_MAX;
Start->Direction = south;
} else {
Start->Slope = FLT_MAX;
Start->Direction = north;
}
} else {
Start->Slope = Delta.y / Delta.x;
if (Delta.x > 0) {
if (Delta.y > 0) {
if (Start->Slope > MinSlope) {
if (Start->Slope < MaxSlope) {
Start->Direction = northeast;
} else {
Start->Direction = north;
}
} else {
Start->Direction = east;
}
}
else if (Start->Slope < -MinSlope) {
if (Start->Slope > -MaxSlope) {
Start->Direction = southeast;
} else {
Start->Direction = south;
}
} else {
Start->Direction = east;
}
} else if (Delta.y > 0) {
if (Start->Slope < -MinSlope) {
if (Start->Slope > -MaxSlope) {
Start->Direction = northwest;
} else {
Start->Direction = north;
}
} else {
Start->Direction = west;
}
} else if (Start->Slope > MinSlope) {
if (Start->Slope < MaxSlope) {
Start->Direction = southwest;
} else {
Start->Direction = south;
}
} else {
Start->Direction = west;
}
}
Finish->PreviousDirection = Start->Direction;
}
/**