diff options
Diffstat (limited to 'apt-private/private-sources.cc')
-rw-r--r-- | apt-private/private-sources.cc | 10 |
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(); |