summaryrefslogtreecommitdiff
path: root/apt-private/private-main.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-10-24 22:43:37 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-04 18:04:03 +0100
commite7e10e47476606e3b2274cf66b1e8ea74b236757 (patch)
tree3daed3cc14405879034c562993a7b5399992f2e3 /apt-private/private-main.cc
parentcbbee23e7768750ca1c8b49bdfbf8a650131bbb6 (diff)
deduplicate main methods
All mains pretty much do the same thing, so lets try a little harder to move the common parts into -private to have the real differences more visible. Git-Dch: Ignore
Diffstat (limited to 'apt-private/private-main.cc')
-rw-r--r--apt-private/private-main.cc32
1 files changed, 27 insertions, 5 deletions
diff --git a/apt-private/private-main.cc b/apt-private/private-main.cc
index 3886c7df6..9eb306834 100644
--- a/apt-private/private-main.cc
+++ b/apt-private/private-main.cc
@@ -2,6 +2,7 @@
#include <apt-pkg/cmndline.h>
#include <apt-pkg/configuration.h>
+#include <apt-pkg/fileutl.h>
#include <apt-private/private-main.h>
@@ -13,14 +14,18 @@
#include <apti18n.h>
-void InitSignals()
+void InitLocale() /*{{{*/
+{
+ setlocale(LC_ALL,"");
+ textdomain(PACKAGE);
+}
+ /*}}}*/
+void InitSignals() /*{{{*/
{
- // Setup the signals
signal(SIGPIPE,SIG_IGN);
}
-
-
-void CheckSimulateMode(CommandLine &CmdL)
+ /*}}}*/
+void CheckIfSimulateMode(CommandLine &CmdL) /*{{{*/
{
// disable locking in simulation, but show the message only for users
// as root hasn't the same problems like unreadable files which can heavily
@@ -39,3 +44,20 @@ void CheckSimulateMode(CommandLine &CmdL)
_config->Set("Debug::NoLocking",true);
}
}
+ /*}}}*/
+void CheckIfCalledByScript(int argc, const char *argv[]) /*{{{*/
+{
+ if (unlikely(argc < 1)) return;
+
+ if(!isatty(STDOUT_FILENO) &&
+ _config->FindB("Apt::Cmd::Disable-Script-Warning", false) == false)
+ {
+ std::cerr << std::endl
+ << "WARNING: " << flNotDir(argv[0]) << " "
+ << "does not have a stable CLI interface. "
+ << "Use with caution in scripts."
+ << std::endl
+ << std::endl;
+ }
+}
+ /*}}}*/