pvtools: combine separator and fieldSeparator

both always have the same value anyway...
This commit is contained in:
Michael Davidsaver
2018-04-24 08:33:25 -07:00
parent 9c25057d80
commit 1adea89e77
6 changed files with 31 additions and 46 deletions

View File

@ -36,8 +36,6 @@ using namespace epics::pvAccess;
enum PrintMode { ValueOnlyMode, StructureMode, TerseMode };
PrintMode mode = ValueOnlyMode;
char fieldSeparator = ' ';
bool columnMajor = false;
bool transpose = false;
@ -242,7 +240,7 @@ void formatTable(std::ostream& o,
{
for (size_t i = 0; i < numColumns; i++)
{
if (separator == ' ')
if (fieldSeparator == ' ')
{
int width = std::max(labels[i].size()+padding, maxColumnLength);
o << std::setw(width) << std::right;
@ -250,7 +248,7 @@ void formatTable(std::ostream& o,
}
else if (i > 0)
{
o << separator;
o << fieldSeparator;
}
o << labels[i];
@ -263,7 +261,7 @@ void formatTable(std::ostream& o,
{
for (size_t i = 0; i < numColumns; i++)
{
if (separator == ' ' && (showHeader || numColumns > 1))
if (fieldSeparator == ' ' && (showHeader || numColumns > 1))
{
int width = std::max(labels[i].size()+padding, maxColumnLength);
o << setw(width) << std::right;
@ -271,7 +269,7 @@ void formatTable(std::ostream& o,
}
else if (i > 0)
{
o << separator;
o << fieldSeparator;
}
PVScalarArrayPtr array = columnData[i];
@ -297,7 +295,7 @@ void formatTable(std::ostream& o,
{
if (showHeader && labels.size())
{
if (separator == ' ')
if (fieldSeparator == ' ')
{
o << std::setw(maxLabelColumnLength) << std::left;
}
@ -306,12 +304,12 @@ void formatTable(std::ostream& o,
for (size_t r = 0; r < maxValues; r++)
{
if (separator == ' ' && (showHeader || numColumns > 1))
if (fieldSeparator == ' ' && (showHeader || numColumns > 1))
{
o << std::setw(maxColumnLength) << std::right;
}
else if (showHeader || r > 0)
o << separator;
o << fieldSeparator;
PVScalarArrayPtr array = columnData[i];
if (array.get() && r < array->getLength())
@ -433,10 +431,10 @@ void formatNTMatrix(std::ostream& o, PVStructurePtr const & pvStruct)
{
for (int32 c = 0; c < cols; c++)
{
if (separator == ' ' && cols > 1)
if (fieldSeparator == ' ' && cols > 1)
o << std::setw(maxColumnLength) << std::right;
else if (c > 0)
o << separator;
o << fieldSeparator;
if (columnMajor)
value->dumpValue(o, r + c * rows);
@ -459,10 +457,10 @@ void formatNTMatrix(std::ostream& o, PVStructurePtr const & pvStruct)
{
for (int32 r = 0; r < rows; r++)
{
if (separator == ' ' && rows > 1)
if (fieldSeparator == ' ' && rows > 1)
o << std::setw(maxColumnLength) << std::right;
else if (r > 0)
o << separator;
o << fieldSeparator;
if (columnMajor)
value->dumpValue(o, ix++);
@ -540,7 +538,7 @@ void formatNTNameValue(std::ostream& o, PVStructurePtr const & pvStruct)
{
for (size_t i = 0; i < numColumns; i++)
{
if (separator == ' ')
if (fieldSeparator == ' ')
{
int width = std::max(nameData[i].size()+padding, maxColumnLength);
o << std::setw(width) << std::right;
@ -548,7 +546,7 @@ void formatNTNameValue(std::ostream& o, PVStructurePtr const & pvStruct)
}
else if (i > 0)
{
o << separator;
o << fieldSeparator;
}
o << nameData[i];
@ -559,7 +557,7 @@ void formatNTNameValue(std::ostream& o, PVStructurePtr const & pvStruct)
// then values
for (size_t i = 0; i < numColumns; i++)
{
if (separator == ' ' && showHeader)
if (fieldSeparator == ' ' && showHeader)
{
int width = std::max(nameData[i].size()+padding, maxColumnLength);
o << std::setw(width) << std::right;
@ -567,7 +565,7 @@ void formatNTNameValue(std::ostream& o, PVStructurePtr const & pvStruct)
}
else if (i > 0)
{
o << separator;
o << fieldSeparator;
}
array->dumpValue(o, i);
}
@ -586,20 +584,20 @@ void formatNTNameValue(std::ostream& o, PVStructurePtr const & pvStruct)
{
if (showHeader)
{
if (separator == ' ')
if (fieldSeparator == ' ')
{
o << std::setw(maxLabelColumnLength) << std::left;
}
o << nameData[i];
}
if (separator == ' ' && showHeader)
if (fieldSeparator == ' ' && showHeader)
{
o << std::setw(maxColumnLength) << std::right;
}
else if (showHeader)
{
o << separator;
o << fieldSeparator;
}
array->dumpValue(o, i);
@ -899,7 +897,7 @@ void printValue(std::string const & channelName, PVStructure::shared_pointer con
if (forceTerseWithName)
{
if (!channelName.empty())
std::cout << channelName << separator;
std::cout << channelName << fieldSeparator;
terseStructure(std::cout, pv) << std::endl;
}
else if (mode == ValueOnlyMode)
@ -1044,7 +1042,7 @@ void usage (void)
" -p <provider>: Set default provider name, default is '%s'\n"
" -q: Quiet mode, print only error messages\n"
" -d: Enable debug output\n"
" -F <ofs>: Use <ofs> as an alternate output field separator\n"
" -F <ofs>: Use <ofs> as an alternate output field fieldSeparator\n"
" -f <input file>: Use <input file> as an input that provides a list PV name(s) to be read, use '-' for stdin\n"
" -c: Wait for clean shutdown and report used instance count (for expert users)\n"
" enum format:\n"
@ -1525,7 +1523,6 @@ int main (int argc, char *argv[])
SET_LOG_LEVEL(debug ? logLevelDebug : logLevelError);
std::cout << std::boolalpha;
terseSeparator(fieldSeparator);
arrayCountFlag = false;
bool allOK = true;

View File

@ -48,8 +48,6 @@ string defaultProvider("pva");
enum PrintMode { ValueOnlyMode, StructureMode, TerseMode };
PrintMode mode = ValueOnlyMode;
char fieldSeparator = ' ';
void usage (void)
{
fprintf (stderr, "\nUsage: pvget [options] <PV name>...\n\n"
@ -531,7 +529,6 @@ int main (int argc, char *argv[])
SET_LOG_LEVEL(debugFlag ? logLevelDebug : logLevelError);
std::cout << std::boolalpha;
terseSeparator(fieldSeparator);
// ================ Connect channels and start operations

View File

@ -490,7 +490,6 @@ int main (int argc, char *argv[])
int opt; /* getopt() current option */
bool debug = false;
double timeOut = DEFAULT_TIMEOUT;
// char fieldSeparator = ' ';
bool printInfo = false;
/*

View File

@ -51,8 +51,6 @@ const string noAddress;
enum PrintMode { ValueOnlyMode, StructureMode, TerseMode };
PrintMode mode = ValueOnlyMode;
char fieldSeparator = ' ';
bool debug = false;
void usage (bool details=false)
@ -609,7 +607,6 @@ int main (int argc, char *argv[])
SET_LOG_LEVEL(debug ? logLevelDebug : logLevelError);
std::cout << std::boolalpha;
terseSeparator(fieldSeparator);
epics::pvAccess::ca::CAClientFactory::start();

View File

@ -43,11 +43,7 @@ std::ostream& operator<<(std::ostream& o, const dump_stack_only_on_debug& d)
return o;
}
char separator = ' ';
void terseSeparator(char c)
{
separator = c;
}
char fieldSeparator = ' ';
char arrayCountFlag = true;
@ -132,7 +128,7 @@ std::ostream& printTimeT(std::ostream& o, epics::pvData::PVStructure::const_shar
epicsTimeToStrftime(timeText, sizeof(timeText), "%Y-%m-%dT%H:%M:%S.%03f", &epicsTS);
o << timeText;
if (printUserTagFlag && tagf)
o << separator << tagf->getAs<int32>();
o << fieldSeparator << tagf->getAs<int32>();
return o;
}
@ -175,14 +171,14 @@ std::ostream& printAlarmT(std::ostream& o, epics::pvData::PVStructure::const_sha
o << v;
else
o << severityNames[v];
o << separator;
o << fieldSeparator;
v = pvStatus->get();
if (v < 0 || v > 7)
o << v;
else
o << statusNames[v];
o << separator;
o << fieldSeparator;
if (pvMessage->get().empty())
o << "<no message>";
else
@ -249,7 +245,7 @@ std::ostream& terseStructure(std::ostream& o, PVStructure::const_shared_pointer
if (first)
first = false;
else
o << separator;
o << fieldSeparator;
terse(o, fieldsData[i]);
}
@ -277,7 +273,7 @@ std::ostream& terseScalarArray(std::ostream& o, const PVScalarArray::const_share
o << '0';
return o;
}
o << length << separator;
o << length << fieldSeparator;
}
bool first = true;
@ -285,7 +281,7 @@ std::ostream& terseScalarArray(std::ostream& o, const PVScalarArray::const_share
if (first)
first = false;
else
o << separator;
o << fieldSeparator;
pvArray->dumpValue(o, i);
}
@ -308,7 +304,7 @@ std::ostream& terseStructureArray(std::ostream& o, PVStructureArray::const_share
o << '0';
return o;
}
o << length << separator;
o << length << fieldSeparator;
}
PVStructureArray::const_svector data = pvArray->view();
@ -317,7 +313,7 @@ std::ostream& terseStructureArray(std::ostream& o, PVStructureArray::const_share
if (first)
first = false;
else
o << separator;
o << fieldSeparator;
terseStructure(o, data[i]);
}
@ -334,7 +330,7 @@ std::ostream& terseUnionArray(std::ostream& o, PVUnionArray::const_shared_pointe
o << '0';
return o;
}
o << length << separator;
o << length << fieldSeparator;
}
PVUnionArray::const_svector data = pvArray->view();
@ -343,7 +339,7 @@ std::ostream& terseUnionArray(std::ostream& o, PVUnionArray::const_shared_pointe
if (first)
first = false;
else
o << separator;
o << fieldSeparator;
terseUnion(o, data[i]);
}

View File

@ -7,7 +7,6 @@ void convertStructure(std::string* buffer, epics::pvData::PVStructure *data, int
void convertArray(std::string*, epics::pvData::PVScalarArray * pv, int notFirst);
void convertStructureArray(std::string*, epics::pvData::PVStructureArray * pvdata, int notFirst);
void terseSeparator(char c);
std::ostream& terse(std::ostream& o, epics::pvData::PVField::const_shared_pointer const & pv);
std::ostream& terseUnion(std::ostream& o, epics::pvData::PVUnion::const_shared_pointer const & pvUnion);
std::ostream& terseStructure(std::ostream& o, const epics::pvData::PVStructure::const_shared_pointer &pvStructure);