summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/contrib')
-rw-r--r--apt-pkg/contrib/configuration.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc
index 3140be446..6f617e914 100644
--- a/apt-pkg/contrib/configuration.cc
+++ b/apt-pkg/contrib/configuration.cc
@@ -511,6 +511,8 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,
std::string Input;
// The input line with comments stripped.
std::string Fragment;
+
+ // Grab the next line of F and place it in Input.
do
{
char *Buffer = new char[1024];
@@ -522,9 +524,9 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,
}
while (F.fail() && !F.eof());
+ // Expand tabs in the input line and remove leading and trailing
+ // whitespace.
{
- // Allocate enough space to expand an entire line of tabs
- // below.
const int BufferSize = Input.size() * 8 + 1;
char *Buffer = new char[BufferSize];
try
@@ -544,6 +546,9 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,
}
CurLine++;
+ // Now strip comments; if the whole line is contained in a
+ // comment, skip this line.
+
// The first meaningful character in the current fragment; will
// be adjusted below as we remove bytes from the front.
std::string::const_iterator Start = Input.begin();
@@ -623,8 +628,7 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,
if (Fragment.empty())
continue;
- // We now have a valid line fragment. Walk down it and
- // interpret it.
+ // The line has actual content; interpret what it means.
InQuote = false;
Start = Fragment.begin();
End = Fragment.end();