Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29cf519e authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds
Browse files

vsprintf: Update %pI6c to not compress a single 0

RFC 5952 (http://tools.ietf.org/html/rfc5952

) mandates that 2 or more
consecutive 0's are required before using :: compression.

Update ip6_compressed_string to match the RFC and update the http
reference as well.

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent dac853ae
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -666,6 +666,8 @@ char *ip6_compressed_string(char *p, const char *addr)
			colonpos = i;
		}
	}
	if (longest == 1)		/* don't compress a single 0 */
		colonpos = -1;

	/* emit address */
	for (i = 0; i < range; i++) {
@@ -826,7 +828,7 @@ int kptr_restrict __read_mostly;
 *       IPv4 uses dot-separated decimal with leading 0's (010.123.045.006)
 * - '[Ii]4[hnbl]' IPv4 addresses in host, network, big or little endian order
 * - 'I6c' for IPv6 addresses printed as specified by
 *       http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-00
 *       http://tools.ietf.org/html/rfc5952
 * - 'U' For a 16 byte UUID/GUID, it prints the UUID/GUID in the form
 *       "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
 *       Options for %pU are: