From 9e6b13f3751f8a1287ff79861980afb7792a5f9e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 28 Nov 2013 12:15:47 +0100 Subject: [PATCH] move EditSources into its own file --- apt-private/makefile | 2 +- apt-private/private-sources.cc | 45 ++++++++++++++++++++++++++++++++++ apt-private/private-sources.h | 3 +++ cmdline/apt.cc | 38 +--------------------------- 4 files changed, 50 insertions(+), 38 deletions(-) create mode 100644 apt-private/private-sources.cc create mode 100644 apt-private/private-sources.h diff --git a/apt-private/makefile b/apt-private/makefile index b3d76409..728890b9 100644 --- a/apt-private/makefile +++ b/apt-private/makefile @@ -17,7 +17,7 @@ MAJOR=0.0 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg -PRIVATES=list install download output cachefile cacheset update upgrade cmndline moo search show main utils +PRIVATES=list install download output cachefile cacheset update upgrade cmndline moo search show main utils sources SOURCE += $(foreach private, $(PRIVATES), private-$(private).cc) HEADERS += $(foreach private, $(PRIVATES), private-$(private).h) diff --git a/apt-private/private-sources.cc b/apt-private/private-sources.cc new file mode 100644 index 00000000..eb9c5b97 --- /dev/null +++ b/apt-private/private-sources.cc @@ -0,0 +1,45 @@ + +#include +#include + +#include "private-output.h" +#include "private-sources.h" +#include "private-utils.h" + +// EditSource - EditSourcesList /*{{{*/ +// --------------------------------------------------------------------- +bool EditSources(CommandLine &CmdL) +{ + bool res; + pkgSourceList sl; + std::string outs; + + // FIXME: suport CmdL.FileList to specify sources.list.d files + std::string sourceslist = _config->FindFile("Dir::Etc::sourcelist"); + + HashString before; + before.FromFile(sourceslist); + + do { + EditFileInSensibleEditor(sourceslist); + _error->PushToStack(); + res = sl.Read(sourceslist); + if (!res) { + strprintf(outs, _("Failed to parse %s. Edit again? "), + sourceslist.c_str()); + std::cout << outs; + res = !YnPrompt(true); + } + _error->RevertToStack(); + } while (res == false); + + if (!before.VerifyFile(sourceslist)) { + strprintf( + outs, _("Your '%s' file changed, please run 'apt-get update'."), + sourceslist.c_str()); + std::cout << outs << std::endl; + } + + return true; +} + /*}}}*/ diff --git a/apt-private/private-sources.h b/apt-private/private-sources.h new file mode 100644 index 00000000..b394622b --- /dev/null +++ b/apt-private/private-sources.h @@ -0,0 +1,3 @@ +#include + +bool EditSources(CommandLine &CmdL); diff --git a/cmdline/apt.cc b/cmdline/apt.cc index 47187fac..4bcae0ab 100644 --- a/cmdline/apt.cc +++ b/cmdline/apt.cc @@ -56,45 +56,9 @@ #include #include #include +#include /*}}}*/ -// EditSource - EditSourcesList /*{{{*/ -// --------------------------------------------------------------------- -bool EditSources(CommandLine &CmdL) -{ - bool res; - pkgSourceList sl; - std::string outs; - - // FIXME: suport CmdL.FileList to specify sources.list.d files - std::string sourceslist = _config->FindFile("Dir::Etc::sourcelist"); - - HashString before; - before.FromFile(sourceslist); - - do { - EditFileInSensibleEditor(sourceslist); - _error->PushToStack(); - res = sl.Read(sourceslist); - if (!res) { - strprintf(outs, _("Failed to parse %s. Edit again? "), - sourceslist.c_str()); - std::cout << outs; - res = !YnPrompt(true); - } - _error->RevertToStack(); - } while (res == false); - - if (!before.VerifyFile(sourceslist)) { - strprintf( - outs, _("Your '%s' file changed, please run 'apt-get update'."), - sourceslist.c_str()); - std::cout << outs << std::endl; - } - - return true; -} - /*}}}*/ bool ShowHelp(CommandLine &CmdL) -- 2.20.1