summaryrefslogtreecommitdiff
path: root/src/uri
blob: 39f14092bf053a1e51322a7c1dbde86110cdc5ef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
set -eu

awk '
BEGIN {
	for (i = 0; i < 256; i++) {
		hex[sprintf("%c", i)] = sprintf("%%%02X", i)
	}
}

{
	for (i = 1; i < length($0); i++) {
		c = substr($0, i, 1)
		printf "%s", (c ~ /^[-._a-zA-Z0-9]$/ ? c : hex[c])
	}
}
'