Moved the private functions out of the anonymous namespace, because I need to use them in other places
This commit is contained in:
@@ -8,42 +8,39 @@
|
|||||||
|
|
||||||
namespace connect_code {
|
namespace connect_code {
|
||||||
|
|
||||||
/* Since these are private functions, I have wrapped them in an anonymous namespace, to prevent outside access to them */
|
/* Tokenizes a string, based on the given delimiter */
|
||||||
namespace {
|
std::vector<std::string> tokenize_str(std::string str, std::string delim) {
|
||||||
/* Tokenizes a string, based on the given delimiter */
|
std::vector<std::string> result;
|
||||||
std::vector<std::string> tokenize_str(std::string str, std::string delim) {
|
char* c_str = str.data();
|
||||||
std::vector<std::string> result;
|
char* c_delim = delim.data();
|
||||||
char* c_str = str.data();
|
|
||||||
char* c_delim = delim.data();
|
|
||||||
|
|
||||||
char* tok = strtok(c_str, c_delim);
|
char* tok = strtok(c_str, c_delim);
|
||||||
while (tok != NULL) {
|
while (tok != NULL) {
|
||||||
result.push_back(std::string(tok));
|
result.push_back(std::string(tok));
|
||||||
tok = strtok(NULL, c_delim);
|
tok = strtok(NULL, c_delim);
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert an IPv4 address from decimal to dotted decimal notation */
|
return result;
|
||||||
std::string dec_to_dotted_dec(std::string addr) {
|
}
|
||||||
uint32_t addr_val = std::stoul(addr); /* 32 bit address */
|
|
||||||
uint8_t addr_1 = (addr_val & (0xFF << 24)) >> 24; /* First octet (Bitwise AND the address with 255.0.0.0, and shift it to the right to obtain the first octet) */
|
|
||||||
uint8_t addr_2 = (addr_val & (0xFF << 16)) >> 16;
|
|
||||||
uint8_t addr_3 = (addr_val & (0xFF << 8)) >> 8;
|
|
||||||
uint8_t addr_4 = (addr_val & 0xFF);
|
|
||||||
|
|
||||||
std::string ret_val = std::string(std::to_string(addr_1) + "." + std::to_string(addr_2) + "." + std::to_string(addr_3) + "." + std::to_string(addr_4));
|
/* Convert an IPv4 address from decimal to dotted decimal notation */
|
||||||
|
std::string dec_to_dotted_dec(std::string addr) {
|
||||||
|
uint32_t addr_val = std::stoul(addr); /* 32 bit address */
|
||||||
|
uint8_t addr_1 = (addr_val & (0xFF << 24)) >> 24; /* First octet (Bitwise AND the address with 255.0.0.0, and shift it to the right to obtain the first octet) */
|
||||||
|
uint8_t addr_2 = (addr_val & (0xFF << 16)) >> 16;
|
||||||
|
uint8_t addr_3 = (addr_val & (0xFF << 8)) >> 8;
|
||||||
|
uint8_t addr_4 = (addr_val & 0xFF);
|
||||||
|
|
||||||
return ret_val;
|
std::string ret_val = std::string(std::to_string(addr_1) + "." + std::to_string(addr_2) + "." + std::to_string(addr_3) + "." + std::to_string(addr_4));
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert an IPv4 address from dotted deecimal to decimal */
|
return ret_val;
|
||||||
std::string dotted_dec_to_dec(std::string addr) {
|
}
|
||||||
std::vector<std::string> octets = tokenize_str(addr, ".");
|
|
||||||
uint32_t addr_val = (std::stoul(octets[0]) << 24) + (std::stoul(octets[1]) << 16) + (std::stoul(octets[2]) << 8) + (std::stoul(octets[3]));
|
/* Convert an IPv4 address from dotted deecimal to decimal */
|
||||||
return std::to_string(addr_val);
|
std::string dotted_dec_to_dec(std::string addr) {
|
||||||
}
|
std::vector<std::string> octets = tokenize_str(addr, ".");
|
||||||
|
uint32_t addr_val = (std::stoul(octets[0]) << 24) + (std::stoul(octets[1]) << 16) + (std::stoul(octets[2]) << 8) + (std::stoul(octets[3]));
|
||||||
|
return std::to_string(addr_val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user