summaryrefslogtreecommitdiff
path: root/apt-private/private-sources.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-private/private-sources.cc')
-rw-r--r--apt-private/private-sources.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/apt-private/private-sources.cc b/apt-private/private-sources.cc
index 37b0534bd..65706e785 100644
--- a/apt-private/private-sources.cc
+++ b/apt-private/private-sources.cc
@@ -21,10 +21,13 @@ bool EditSources(CommandLine &CmdL)
std::string sourceslist;
if (CmdL.FileList[1] != NULL)
- sourceslist = _config->FindDir("Dir::Etc::sourceparts") + CmdL.FileList[1] + ".list";
- else
+ {
+ sourceslist = _config->FindDir("Dir::Etc::sourceparts") + CmdL.FileList[1];
+ if (!APT::String::Endswith(sourceslist, ".list"))
+ sourceslist += ".list";
+ } else {
sourceslist = _config->FindFile("Dir::Etc::sourcelist");
-
+ }
HashString before;
if (FileExists(sourceslist))
before.FromFile(sourceslist);
@@ -38,6 +41,7 @@ bool EditSources(CommandLine &CmdL)
strprintf(outs, _("Failed to parse %s. Edit again? "),
sourceslist.c_str());
std::cout << outs;
+ // FIXME: should we add a "restore previous" option here?
res = !YnPrompt(true);
}
_error->RevertToStack();