blob: ac6172f732da746215857aeb97eaa254559f9f65 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# Unfold header lines in an internet message, don't touch the body
# Function to write and empty the buffer
function wrbuf() {
if (length(buf))
print buf
buf = ""
}
# Flag to stop processing once we hit the first blank line
!length($0) {
wrbuf()
body = 1
}
body {
print
next
}
# Write any buffer contents once we hit a line not starting with a space
/^[^ \t]/ { wrbuf() }
# Append the current line to the buffer
{
sub(/^[ \t]+/, " ")
buf = buf $0
}
# Write the buffer out again when we hit the end
END { wrbuf() }
|