diff options
author | pabelanger <pabelanger@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-06-09 17:32:52 +0000 |
---|---|---|
committer | pabelanger <pabelanger@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-06-09 17:32:52 +0000 |
commit | 4dae7fef42da51388d7ba01b033f19822341ff03 (patch) | |
tree | 9f1779c4f2a3fe00ebed0daa2b61c613167cd98f /main/term.c | |
parent | 3bd233b49d32bfbdf330f025ea35c7cec7b5b145 (diff) |
Merged revisions 269334 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r269334 | pabelanger | 2010-06-09 13:24:53 -0400 (Wed, 09 Jun 2010) | 12 lines
Fix Debian init script to not use -c.
When using the init script as-is currently, it could cause issues on Debian
such as high CPU usage. This fix has worked for several people so I'm
implementing the change. We now handle color displays properly.
(closes issue #16784)
Reported by: pabelanger
Patches:
20100530__issue16784__2.diff.txt uploaded by tilghman (license 14)
Tested by: pabelanger, tilghman
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@269346 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/term.c')
-rw-r--r-- | main/term.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/main/term.c b/main/term.c index 5140e6323..fbe093f80 100644 --- a/main/term.c +++ b/main/term.c @@ -1,7 +1,7 @@ /* * Asterisk -- An open source telephony toolkit. * - * Copyright (C) 1999 - 2005, Digium, Inc. + * Copyright (C) 1999 - 2010, Digium, Inc. * * Mark Spencer <markster@digium.com> * @@ -18,9 +18,9 @@ /*! \file * - * \brief Terminal Routines + * \brief Terminal Routines * - * \author Mark Spencer <markster@digium.com> + * \author Mark Spencer <markster@digium.com> */ #include "asterisk.h" @@ -87,12 +87,21 @@ int ast_term_init(void) char buffer[512] = ""; int termfd = -1, parseokay = 0, i; - if (!term) + if (ast_opt_no_color) { return 0; - if (!ast_opt_console || ast_opt_no_color || !ast_opt_no_fork) + } + + if (!ast_opt_console) { + /* If any remote console is not compatible, we'll strip the color codes at that point */ + vt100compat = 1; + goto end; + } + + if (!term) { return 0; + } - for (i=0 ;; i++) { + for (i = 0;; i++) { if (termpath[i] == NULL) { break; } @@ -146,6 +155,7 @@ int ast_term_init(void) } } +end: if (vt100compat) { /* Make commands show up in nice colors */ if (ast_opt_light_background) { |