diff options
author | Timo Teräs <timo.teras@iki.fi> | 2012-02-24 08:47:19 +0200 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2012-02-24 08:47:37 +0200 |
commit | e145738acea4bcc3f77ac7573802215a55275d88 (patch) | |
tree | cc9e406b1e7373ac2ec4cd0b22e3ff5f706c550d | |
parent | 4676c5d63ac70f4bf2c4e4c945a7fa65941676e9 (diff) | |
download | apk-tools-e145738acea4bcc3f77ac7573802215a55275d88.tar.gz apk-tools-e145738acea4bcc3f77ac7573802215a55275d88.tar.bz2 apk-tools-e145738acea4bcc3f77ac7573802215a55275d88.tar.xz apk-tools-e145738acea4bcc3f77ac7573802215a55275d88.zip |
apk: do not enable automatically interactive mode with --simulate
-rw-r--r-- | src/apk.c | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -264,14 +264,21 @@ static void on_sigwinch(int s) static void setup_terminal(void) { setvbuf(stderr, NULL, _IOLBF, BUFSIZ); - if (isatty(STDOUT_FILENO) && isatty(STDERR_FILENO) && isatty(STDIN_FILENO)) { - apk_flags |= APK_PROGRESS; - if (access("/etc/apk/interactive", F_OK) == 0) - apk_flags |= APK_INTERACTIVE; - } signal(SIGWINCH, on_sigwinch); } +static void setup_automatic_flags(void) +{ + if (!isatty(STDOUT_FILENO) || !isatty(STDERR_FILENO) || + !isatty(STDIN_FILENO)) + return; + + apk_flags |= APK_PROGRESS; + if (!(apk_flags & APK_SIMULATE) && + access("/etc/apk/interactive", F_OK) == 0) + apk_flags |= APK_INTERACTIVE; +} + int main(int argc, char **argv) { struct apk_applet *applet; @@ -422,6 +429,7 @@ int main(int argc, char **argv) break; } } + setup_automatic_flags(); if (applet == NULL) { r = usage(NULL); |