Sensor List: Replace Input / Output with In / Out

Shorten common names to make them fit within 16 chars.

Tested: ipmitool sensor list

Change-Id: I2ad7b5aa819034075a8a2afae7b97f71b818a21a
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/src/sensorcommands.cpp b/src/sensorcommands.cpp
index 50a640a..d84d8b1 100644
--- a/src/sensorcommands.cpp
+++ b/src/sensorcommands.cpp
@@ -1329,6 +1329,15 @@
     std::replace(name.begin(), name.end(), '_', ' ');
     if (name.size() > FULL_RECORD_ID_STR_MAX_LENGTH)
     {
+        // try to not truncate by replacing common words
+        constexpr std::array<std::pair<const char *, const char *>, 2>
+            replaceWords = {std::make_pair("Output", "Out"),
+                            std::make_pair("Input", "In")};
+        for (const auto &[find, replace] : replaceWords)
+        {
+            boost::replace_all(name, find, replace);
+        }
+
         name.resize(FULL_RECORD_ID_STR_MAX_LENGTH);
     }
     record.body.id_string_info = name.size();