Skip to content

Commit 1b7ef0d

Browse files
committed
IPAddress: add toString() method
1 parent 844e4bf commit 1b7ef0d

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Diff for: api/IPAddress.cpp

+27
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,33 @@ IPAddress::IPAddress(const char *address)
9494
fromString(address);
9595
}
9696

97+
String IPAddress::toString4() const
98+
{
99+
char szRet[16];
100+
sprintf(szRet,"%u.%u.%u.%u", _address.bytes[IPADDRESS_V4_BYTES_INDEX], _address.bytes[IPADDRESS_V4_BYTES_INDEX + 1], _address.bytes[IPADDRESS_V4_BYTES_INDEX + 2], _address.bytes[IPADDRESS_V4_BYTES_INDEX + 3]);
101+
return String(szRet);
102+
}
103+
104+
String IPAddress::toString6() const
105+
{
106+
char szRet[40];
107+
sprintf(szRet,"%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x",
108+
_address.bytes[0], _address.bytes[1], _address.bytes[2], _address.bytes[3],
109+
_address.bytes[4], _address.bytes[5], _address.bytes[6], _address.bytes[7],
110+
_address.bytes[8], _address.bytes[9], _address.bytes[10], _address.bytes[11],
111+
_address.bytes[12], _address.bytes[13], _address.bytes[14], _address.bytes[15]);
112+
return String(szRet);
113+
}
114+
115+
String IPAddress::toString() const
116+
{
117+
if (_type == IPv4) {
118+
return toString4();
119+
} else {
120+
return toString6();
121+
}
122+
}
123+
97124
bool IPAddress::fromString(const char *address) {
98125
if (!fromString4(address)) {
99126
return fromString6(address);

Diff for: api/IPAddress.h

+3
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ class IPAddress : public Printable {
9696
IPAddress& operator=(const char *address);
9797

9898
virtual size_t printTo(Print& p) const;
99+
String toString() const;
99100

100101
IPType type() { return _type; }
101102

@@ -110,6 +111,8 @@ class IPAddress : public Printable {
110111
protected:
111112
bool fromString4(const char *address);
112113
bool fromString6(const char *address);
114+
String toString4() const;
115+
String toString6() const;
113116
};
114117

115118
extern const IPAddress IN6ADDR_ANY;

0 commit comments

Comments
 (0)