diff --git a/wpilibc/src/main/native/cpp/Relay.cpp b/wpilibc/src/main/native/cpp/Relay.cpp index 395b1eb617..9561c6b131 100644 --- a/wpilibc/src/main/native/cpp/Relay.cpp +++ b/wpilibc/src/main/native/cpp/Relay.cpp @@ -143,37 +143,40 @@ void Relay::Set(Relay::Value value) { } Relay::Value Relay::Get() const { + Relay::Value value = kOff; int32_t status; if (m_direction == kForwardOnly) { if (HAL_GetRelay(m_forwardHandle, &status)) { - return kOn; + value = kOn; } else { - return kOff; + value = kOff; } } else if (m_direction == kReverseOnly) { if (HAL_GetRelay(m_reverseHandle, &status)) { - return kOn; + value = kOn; } else { - return kOff; + value = kOff; } } else { if (HAL_GetRelay(m_forwardHandle, &status)) { if (HAL_GetRelay(m_reverseHandle, &status)) { - return kOn; + value = kOn; } else { - return kForward; + value = kForward; } } else { if (HAL_GetRelay(m_reverseHandle, &status)) { - return kReverse; + value = kReverse; } else { - return kOff; + value = kOff; } } } wpi_setHALError(status); + + return value; } int Relay::GetChannel() const {