mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
Changed const char* -> string in most of wpilibc.
The HAL will remain untouched in order to maintain C-style compatibility. A few places in wpilibc were left as C-style strings, especially if special formatting (eg, elaborate uses of snprintf or sscanf) was being used. In general, const char* was changed to std::string. character buffers used for formatting were either untouched, changed to std::stringstream, or changed to std::string, depending on what was done with the buffer. Change-Id: I5e431ddf1cc4d9a6d534e1f21b16ea23be26e7f1
This commit is contained in:
@@ -14,6 +14,8 @@
|
||||
#include "LiveWindow/LiveWindow.h"
|
||||
#include "HAL/HAL.hpp"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
// Allocate each direction separately.
|
||||
static ::std::unique_ptr<Resource> relayChannels;
|
||||
|
||||
@@ -27,18 +29,18 @@ static ::std::unique_ptr<Resource> relayChannels;
|
||||
*/
|
||||
Relay::Relay(uint32_t channel, Relay::Direction direction)
|
||||
: m_channel(channel), m_direction(direction) {
|
||||
char buf[64];
|
||||
std::stringstream buf;
|
||||
Resource::CreateResourceObject(relayChannels,
|
||||
dio_kNumSystems * kRelayChannels * 2);
|
||||
if (!SensorBase::CheckRelayChannel(m_channel)) {
|
||||
snprintf(buf, 64, "Relay Channel %d", m_channel);
|
||||
wpi_setWPIErrorWithContext(ChannelIndexOutOfRange, buf);
|
||||
buf << "Relay Channel " << m_channel;
|
||||
wpi_setWPIErrorWithContext(ChannelIndexOutOfRange, buf.str());
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_direction == kBothDirections || m_direction == kForwardOnly) {
|
||||
snprintf(buf, 64, "Forward Relay %d", m_channel);
|
||||
if (relayChannels->Allocate(m_channel * 2, buf) == ~0ul) {
|
||||
buf << "Forward Relay " << m_channel;
|
||||
if (relayChannels->Allocate(m_channel * 2, buf.str()) == ~0ul) {
|
||||
CloneError(*relayChannels);
|
||||
return;
|
||||
}
|
||||
@@ -46,8 +48,8 @@ Relay::Relay(uint32_t channel, Relay::Direction direction)
|
||||
HALReport(HALUsageReporting::kResourceType_Relay, m_channel);
|
||||
}
|
||||
if (m_direction == kBothDirections || m_direction == kReverseOnly) {
|
||||
snprintf(buf, 64, "Reverse Relay %d", m_channel);
|
||||
if (relayChannels->Allocate(m_channel * 2 + 1, buf) == ~0ul) {
|
||||
buf << "Reverse Relay " << m_channel;
|
||||
if (relayChannels->Allocate(m_channel * 2 + 1, buf.str()) == ~0ul) {
|
||||
CloneError(*relayChannels);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user