Fix handling of folded fields in Stanza. #270

Discovered by @sobczyk

When whitespace is stripped from folded stanza fields, some fields
values are glued together without whitespace which might change its meaning.
This commit is contained in:
Andrey Smirnov
2015-09-24 11:59:49 +03:00
parent 08bc5ac934
commit 76bf7cba04
2 changed files with 2 additions and 2 deletions

View File

@@ -230,7 +230,7 @@ func (c *ControlFileReader) ReadStanza(isRelease bool) (Stanza, error) {
if lastFieldMultiline {
stanza[lastField] += line + "\n"
} else {
stanza[lastField] += strings.TrimSpace(line)
stanza[lastField] += " " + strings.TrimSpace(line)
}
} else {
parts := strings.SplitN(line, ":", 2)

View File

@@ -95,7 +95,7 @@ func (s *ControlFileSuite) TestReadStanza(c *C) {
c.Assert(stanza3, IsNil)
c.Check(stanza1["Format"], Equals, "3.0 (quilt)")
c.Check(stanza1["Build-Depends"], Equals, "debhelper (>= 8),bash-completion (>= 1:1.1-3),libcurl4-nss-dev, libreadline-dev, libxml2-dev, libpcre3-dev, liboauth-dev, xsltproc, docbook-xsl, docbook-xml, dh-autoreconf")
c.Check(stanza1["Build-Depends"], Equals, "debhelper (>= 8), bash-completion (>= 1:1.1-3), libcurl4-nss-dev, libreadline-dev, libxml2-dev, libpcre3-dev, liboauth-dev, xsltproc, docbook-xsl, docbook-xml, dh-autoreconf")
c.Check(stanza1["Files"], Equals, " 3d5f65778bf3f89be03c313b0024b62c 1980 bti_032-1.dsc\n"+
" 1e0d0b693fdeebec268004ba41701baf 59773 bti_032.orig.tar.gz\n"+" ac1229a6d685023aeb8fcb0806324aa8 5065 bti_032-1.debian.tar.gz\n")
c.Check(len(stanza2), Equals, 20)