summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/configuration.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-09-13 16:19:09 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-09-13 16:19:09 +0200
commit44edc41ea7146be02775a3af05e91fc56faae3e9 (patch)
tree559ecc84e71e297542c5a49368fe7183ac9ed681 /apt-pkg/contrib/configuration.cc
parentabcbf0af368cdda142b5d7cc03f793cfbdf23028 (diff)
* apt-pkg/contrib/configuration.cc:
- fix double delete (LP: #848907) - ignore only the invalid regexp instead of all options
Diffstat (limited to 'apt-pkg/contrib/configuration.cc')
-rw-r--r--apt-pkg/contrib/configuration.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc
index 942ea9fbc..2d1dee22d 100644
--- a/apt-pkg/contrib/configuration.cc
+++ b/apt-pkg/contrib/configuration.cc
@@ -870,10 +870,10 @@ Configuration::MatchAgainstConfig::MatchAgainstConfig(char const * Config)
{
regfree(p);
delete p;
- clearPatterns();
- _error->Warning("Regex compilation error for '%s' in configuration option '%s'",
- s->c_str(), Config);
- return;
+ _error->Warning("Invalid regular expression '%s' in configuration "
+ "option '%s' will be ignored.",
+ s->c_str(), Config);
+ continue;
}
}
if (strings.size() == 0)
@@ -894,6 +894,7 @@ void Configuration::MatchAgainstConfig::clearPatterns()
regfree(*p);
delete *p;
}
+ patterns.clear();
}
/*}}}*/
// MatchAgainstConfig::Match - returns true if a pattern matches /*{{{*/