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:
James Kuszmaul
2015-06-30 15:01:20 -04:00
parent 534ea134a4
commit 98f2d08103
55 changed files with 300 additions and 234 deletions

View File

@@ -10,6 +10,8 @@
#include "WPIErrors.h"
#include "LiveWindow/LiveWindow.h"
#include <sstream>
/**
* Constructor using the default PCM ID (0).
*
@@ -26,22 +28,22 @@ Solenoid::Solenoid(uint32_t channel)
*/
Solenoid::Solenoid(uint8_t moduleNumber, uint32_t channel)
: SolenoidBase(moduleNumber), m_channel(channel) {
char buf[64];
std::stringstream buf;
if (!CheckSolenoidModule(m_moduleNumber)) {
snprintf(buf, 64, "Solenoid Module %d", m_moduleNumber);
wpi_setWPIErrorWithContext(ModuleIndexOutOfRange, buf);
buf << "Solenoid Module " << m_moduleNumber;
wpi_setWPIErrorWithContext(ModuleIndexOutOfRange, buf.str());
return;
}
if (!CheckSolenoidChannel(m_channel)) {
snprintf(buf, 64, "Solenoid Channel %d", m_channel);
wpi_setWPIErrorWithContext(ChannelIndexOutOfRange, buf);
buf << "Solenoid Module " << m_channel;
wpi_setWPIErrorWithContext(ChannelIndexOutOfRange, buf.str());
return;
}
Resource::CreateResourceObject(m_allocated, kSolenoidChannels * 63);
snprintf(buf, 64, "Solenoid %d (Module: %d)", m_channel, m_moduleNumber);
buf << "Solenoid " << m_channel << " (Module: " << m_moduleNumber << ")";
if (m_allocated->Allocate(m_moduleNumber * kSolenoidChannels + m_channel,
buf) == ~0ul) {
buf.str()) == ~0ul) {
CloneError(*m_allocated);
return;
}