summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-08-19 09:50:19 +0200
committerJulian Andres Klode <jak@debian.org>2015-08-19 09:55:21 +0200
commitdefe3231c7bafc4d789219a3250be9ccfbc51914 (patch)
treeefdef6d37689b45ce3e6859a309ba42ec98fbd21
parenta8275acf87cf15992e6b89694d6276e0a5e529b9 (diff)
Support tabs in sources.list files
Also support vertical tabs, as isspace() does the same. Closes: #796067
-rw-r--r--apt-pkg/sourcelist.cc2
-rwxr-xr-xtest/integration/test-apt-sources-deb8226
2 files changed, 7 insertions, 1 deletions
diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc
index 3e714667c..d3bcbce5f 100644
--- a/apt-pkg/sourcelist.cc
+++ b/apt-pkg/sourcelist.cc
@@ -384,7 +384,7 @@ bool pkgSourceList::ParseFileOldStyle(std::string const &File)
continue;
// Grok it
- std::string const LineType = Buffer.substr(0, Buffer.find(' '));
+ std::string const LineType = Buffer.substr(0, Buffer.find_first_of(" \t\v"));
if (LineType.empty() || LineType == Buffer)
return _error->Error(_("Malformed line %u in source list %s (type)"),CurLine,File.c_str());
diff --git a/test/integration/test-apt-sources-deb822 b/test/integration/test-apt-sources-deb822
index adfe0e003..259763096 100755
--- a/test/integration/test-apt-sources-deb822
+++ b/test/integration/test-apt-sources-deb822
@@ -31,6 +31,12 @@ testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.deb
'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0
'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris
+msgcleantest 'Test sources.list' 'old style with tabs'
+echo "deb http://ftp.debian.org/debian stable main" > $LISTS
+testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0
+'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0
+'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris
+
msgcleantest 'Test sources.list' 'old style with options'
echo "deb [trusted=yes arch+=armel,powerpc] http://ftp.debian.org/debian stable main" > $LISTS
testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0