Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

‎api/IPAddress.cpp‎

Lines changed: 27 additions & 0 deletions
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);

‎api/IPAddress.h‎

Lines changed: 3 additions & 0 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /