Simplify itostr4sign

- This function becomes obsolete if ftostr4sign is re-written.
This commit is contained in:
Scott Lahteine 2016-12-05 08:25:09 -06:00
parent 200cf3e9f9
commit 1e30d1da47

View File

@ -74,25 +74,32 @@ void safe_delay(millis_t ms) {
return str; return str;
} }
// Convert signed int to rj string with _123, -123, _-12, or __-1 format // Convert signed int to rj string with 1234, _123, -123, _-12, or __-1 format
char *itostr4sign(const int& x) { char *itostr4sign(const int& x) {
int xx = abs(x), sign = 0; int xx = abs(x);
if (xx >= 100) { if (x >= 1000) {
conv[0] = DIGIMOD(xx, 1000);
conv[1] = DIGIMOD(xx, 100); conv[1] = DIGIMOD(xx, 100);
conv[2] = DIGIMOD(xx, 10); conv[2] = DIGIMOD(xx, 10);
} }
else { else {
conv[0] = ' '; if (xx >= 100) {
if (xx >= 10) { conv[0] = x < 0 ? '-' : ' ';
sign = 1; conv[1] = DIGIMOD(xx, 100);
conv[2] = DIGIMOD(xx, 10); conv[2] = DIGIMOD(xx, 10);
} }
else { else {
conv[1] = ' '; conv[0] = ' ';
sign = 2; if (xx >= 10) {
conv[1] = x < 0 ? '-' : ' ';
conv[2] = DIGIMOD(xx, 10);
}
else {
conv[1] = ' ';
conv[2] = x < 0 ? '-' : ' ';
}
} }
} }
conv[sign] = x < 0 ? '-' : ' ';
conv[3] = DIGIMOD(xx, 1); conv[3] = DIGIMOD(xx, 1);
conv[4] = '\0'; conv[4] = '\0';
return conv; return conv;