Appends an IPv4 address to builder as dotted decimal, such as 127.0.0.1.
address is in network byte order, the way it is stored in sockaddr_in.sin_addr: the first octet is the first byte
in memory, so loopback is htonl(INADDR_LOOPBACK). The caller releases the builder with free_buffers.
builder: String_Builder;
defer free_buffers(*builder);
append_address(*builder, htonl(INADDR_LOOPBACK));
text := builder_to_string(*builder);
defer free(text);
assert(text == "127.0.0.1");Doesn't run in the browser (skipped on wasm).
append_address :: (builder: *String_Builder, address: u32)
Appends an IPv4 address to builder as dotted decimal, such as 127.0.0.1.
address is in network byte order, the way it is stored in sockaddr_in.sin_addr: the first octet is the first byte
in memory, so loopback is htonl(INADDR_LOOPBACK). The caller releases the builder with free_buffers.
Parameters
- builder: *String_Builder
- address: u32
builder: String_Builder;
defer free_buffers(*builder);
append_address(*builder, htonl(INADDR_LOOPBACK));
text := builder_to_string(*builder);
defer free(text);
assert(text == "127.0.0.1");Doesn't run in the browser (skipped on wasm).
append_address :: (builder: *String_Builder, address: [16] u8)
Appends an IPv6 address to builder as eight colon-separated groups of lowercase hex, such as 0:0:0:0:0:0:0:1.
address holds the 16 bytes in network order, as in sockaddr_in6.sin6_addr. Groups have no leading zeros, runs of
zero groups are not shortened to ::, and there are no brackets. An IPv4-mapped address prints as plain hex groups,
not as dotted decimal.
Parameters
- builder: *String_Builder
- address: [16] u8
loopback: [16] u8;
loopback[15] = 1;
builder: String_Builder;
defer free_buffers(*builder);
append_address(*builder, loopback);
text := builder_to_string(*builder);
defer free(text);
assert(text == "0:0:0:0:0:0:0:1");Doesn't run in the browser (skipped on wasm).