mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-26 15:02:50 +02:00
helpers.cpp: Add itoa() function
Origin commit data
------------------
Commit: 38470a8a80
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2016-09-03 (Sat, 03 Sep 2016)
This commit is contained in:
@@ -951,6 +951,38 @@ std::string to_string(unsigned long long i)
|
||||
return s.str();
|
||||
}
|
||||
|
||||
/**
|
||||
* C++ version 0.4 std::string style "itoa":
|
||||
* Contributions from Stuart Lowe, Ray-Yuan Sheu,
|
||||
|
||||
* Rodrigo de Salvo Braz, Luc Gallant, John Maloney
|
||||
* and Brian Hunt
|
||||
*/
|
||||
std::string itoa(int value, int base)
|
||||
{
|
||||
std::string buf;
|
||||
|
||||
// check that the base if valid
|
||||
if (base < 2 || base > 16) return buf;
|
||||
|
||||
enum { kMaxDigits = 35 };
|
||||
buf.reserve( kMaxDigits ); // Pre-allocate enough space.
|
||||
|
||||
int quotient = value;
|
||||
|
||||
// Translating number to string with base:
|
||||
do {
|
||||
buf += "0123456789abcdef"[ std::abs( quotient % base ) ];
|
||||
quotient /= base;
|
||||
} while ( quotient );
|
||||
|
||||
// Append the negative sign
|
||||
if ( value < 0) buf += '-';
|
||||
|
||||
std::reverse( buf.begin(), buf.end() );
|
||||
return buf;
|
||||
}
|
||||
|
||||
std::string getJFFS2MountPoint(int mtdPos)
|
||||
{
|
||||
FILE* fd = fopen("/proc/mounts", "r");
|
||||
|
@@ -105,6 +105,8 @@ std::string to_string(unsigned long);
|
||||
std::string to_string(long long);
|
||||
std::string to_string(unsigned long long);
|
||||
|
||||
std::string itoa(int value, int base);
|
||||
|
||||
inline int atoi(std::string &s) { return atoi(s.c_str()); }
|
||||
inline int atoi(const std::string &s) { return atoi(s.c_str()); }
|
||||
inline int access(std::string &s, int mode) { return access(s.c_str(), mode); }
|
||||
|
Reference in New Issue
Block a user