mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-11 23:19:04 +08:00
Merge pull request #1816 from noahmetzger/winfix
Fix issues detected by Coverity Scan
This commit is contained in:
commit
b23568f3d1
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user