summaryrefslogtreecommitdiff
path: root/cli.c
AgeCommit message (Collapse)Author
2006-08-21merge new_loader_completion branch, including (at least):Kevin P. Fleming
- restructured build tree and makefiles to eliminate recursion problems - support for embedded modules - support for static builds - simpler cross-compilation support - simpler module/loader interface (no exported symbols) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08change constant name from MAXSTRLEN to INITLEN since it is not the maximumRussell Bryant
length, it is the initial length of the string when first allocated git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08Merge team/russell/ast_verbose_threadstorageRussell Bryant
- instead of defining a free() wrapper in a bunch of files, define it as ast_free() in utils.h and remove the copies from all the files. - centralize and abstract the code used for doing thread storage. The code lives in threadstorage.h, with one function being implemented in utils.c. This new API includes generic thread storage as well as special functions for handling thread local dynamic length string buffers. - update ast_inet_ntoa() to use the new threadstorage API - update ast_state2str() to use the new threadstorage API - update ast_cli() to use the new threadstorage API - Modify manager_event() to use thread storage. Instead of using a buffer of 4096 characters as the workspace for building the manager event, use a thread local dynamic string. Now there is no length limitation on the length of the body of a manager event. - Significantly simplify the handling of ast_verbose() ... - Instead of using a static char buffer and a lock to make sure only one thread can be using ast_verbose() at a time, use a thread local dynamic string as the workspace for preparing the verbose message. Instead of locking around the entire function, the only locking done now is when the message has been built and is being deliviered to the list of registered verbose message handlers. - This function was doing a strdup() on every message passed to it and keeping a queue of the last 200 messages in memory. This has been completely removed. The only place this was used was that if there were any messages in the verbose queue when a verbose handler was registered, all of the messages in the queue would be fed to it. So, I just made sure that the console verbose handler and the network verbose handler (for remote asterisk consoles) were registered before any verbose messages. pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at startup, but I didn't feel the performance hit of this message queue was worth saving the initial verbose output for these very rarely used modules. - I have removed the last three arguments to the verbose handlers, leaving only the string itself because they aren't needed anymore. For example, ast_verbose had some logic for telling the verbose handler to add a newline if the buffer was completely full. Now that the buffer can grow as needed, this doesn't matter anymore. - remove unused function, ast_verbose_dmesg() which was to dispatch the message queue - Convert the list of verbose handlers to use the linked list macros. - add missing newline characters to a few ast_verbose() calls - convert the list of log channels to use the linked list macros in logger.c - fix close_logger() to close all of the files it opened for logging - update ast_log() to use a thread local dynamic string for its workspace for preparing log messages instead of a buffer of size BUFSIZ (8kB on my system) allocated on the stack. The dynamic string in this case is limited to only growing to a maximum size of BUFSIZ. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27fix crashes with MALLOC_DEBUG enabled that were a result of my recent threadRussell Bryant
storage changes (fixes issue #7595) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27fix some breakage of ast_cli() that resulted in seg faults on Josh's machine.Russell Bryant
I'm not sure why this never caused problems for me ... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-26merge the changes from my ast_cli_tls branch ...Russell Bryant
Instead of having a static buffer size of 16k, start out with 256 bytes and increase the size of the buffer as needed. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-23Merge team/russell/ast_cli_tls into the trunk.Russell Bryant
This improves the performance of ast_cli() by not doing a heap memory allocation and deallocation every single time the function is called. Instead, a thread-specific buffer is allocatted the first time the function is called and automatically free'd when the thread exits. Also note that this buffer will only be allocatted in threads that actually call this function, which is probably only the threads spawned to service connected asterisk consoles. This does introduce a new limitation on the maximum length of the resulting string from the arguments passed to ast_cli. Previously there was no limit since it was just allocating a buffer big enough every time the function was called. The current buffer size is 16kB. If there is ever a case where we want to print more than 16k characters in a single call to ast_cli(), this will have to be increased. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-23take the advice of an XXX comment and use an atomic operation to decrement aRussell Bryant
variable. Also, change a use of strdup to ast_strdup and remove a duplicated error message. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07simplify autoconfig include mechanism (make tholo happy he can use lint ↵Kevin P. Fleming
again :-) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-04- Add information about transcoding to "show channel"Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-31remove the "frog" CLI command left over from April 1stRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-26Fix various problems in the addition of the ability to mute log/verboseRussell Bryant
output to remove consoles. The prototypes added to logger.h still need doxygen documentation, as well. - Add the new command line option to the man page - make the mute option a flag instead of an int since it is only a binary option - remove useless extern keywords for prototypes added to logger.h - rename ast_console_mute() to ast_console_toggle_mute() since that is what it actually does - actually apply the mute option to newly created remote consoles instead of only working when the CLI command is used - don't imply the NO_FORK option if the mute command line option is provided - place the new CLI command in the correct place in the list which has to be in alphabetical order - Finally, clean up a few spacing issues to conform to the coding guidelines git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-26Add ability to disable log / verbose output to remote consoles (issue #6524 ↵Joshua Colp
reported by mavetju) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-19Fix tab completion when you just do a plain tab without entering anything, ↵Joshua Colp
and also fix show application tab completion. (issue #7089 reported by blitzrage) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09use S_OR where appropriate, comment an unclear difference in formatLuigi Rizzo
between CONCISE and VERBOSE git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-05move ast_carefulwrite from manager.c to utils.c so that cli.c andRussell Bryant
res_agi.c no longer depend on manager.h (issue #6397, casper) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29a bunch of conversion to ast_channel_*lock (issue #7058)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29move the "show version" CLI command from cli.c to asterisk.c so that only oneRussell Bryant
file depends on version.h, and thus, only one file has to be rebuilt when version.h gets regenerated (issue #6942) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21- use symbolic constants and macros to play with the debug flagLuigi Rizzo
on the frame counters. Document it in the header file. - provide a single exit point for a function; - mark XXX some unclear parts of the code. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21make NULL and "" equivalent for some cid fields.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14This rather large commit changes the way modules are loaded. Luigi Rizzo
As partly documented in loader.c and include/asterisk/module.h, modules are now expected to return all of their methods and flags into a structure 'mod_data', and are normally loaded with RTLD_NOW | RTLD_LOCAL, so symbols are resolved immediately and conflicts should be less likely. Only in a small number of cases (res_*, typically) modules are loaded RTLD_GLOBAL, so they can export symbols. The core of the change is only the two files loader.c and include/asterisk/module.h, all the rest is simply adaptation of the existing modules to the new API, a rather mechanical (but believe me, time and finger-consuming!) process whose detail you can figure out by svn diff'ing any single module. Expect some minor compilation issue after this change, please report it on mantis http://bugs.digium.com/view.php?id=6968 so we collect all the feedback in one place. I am just sorry that this change missed SVN version number 20000! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-02Fix formatting of the frog codeTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-01fix style and printf format errors in the frog command.Luigi Rizzo
(it's april first i guess...) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-01Added "frog" CLI command, which performs frog-in-a-blender calculations.Jim Dixon
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28bring in the code that was discussed on Mantis #6068,Luigi Rizzo
which is the basis for several simplifications and fixes to the CLI interfaces. The core is in cli.c, some documentation on a new function to help command completion is in cli.h, and one line of glue code in the other two files. Next step is to bring in the patches described in #6066 and other simplifications. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-27Janitor work converting !ast_strlen_zero(a)?a:bMatt O'Gorman
to S_OR functions. from bug note 6805 with minor modifications. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-27don't try to print the help text for a CLI command when RESULT_SHOWUSAGE isRussell Bryant
returned if there is no help text available (issue #6604) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-16add StopMixMonitor application (issue #6122, with mods)Russell Bryant
Rename and export ast_complete_channels for use by cli completion functions that want to complete from the list of active channels git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-14use a delimiter for 'show channels concise' that will not appear in the ↵Kevin P. Fleming
field contents (issue #6086, with UPGRADE.txt addition) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-14more list macro conversion (issue #6361, plus documentation for new macro)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-09conversions to memory allocation wrappers, remove duplicated error messages,Russell Bryant
remove unnecessary casts, malloc+memset to calloc (issue #6395) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-01use string fields for some stuff in ast_channelKevin P. Fleming
const-ify some more APIs remove 'type' field from ast_channel, in favor of the one in the channel's tech structure allow string field module users to specify the 'chunk size' for pool allocations update chan_alsa to be compatible with recent const-ification patches git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18constify arguments in more places where strings should not be modified ↵Russell Bryant
(issue #6286) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18cleanup the show uptime code, and minor changesMatt O'Gorman
to patch 6274 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17Added tab completion for help. bug 6074Matt O'Gorman
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-07Add support for H.264 with SIP and recordingMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30update doxygen docs to specify authorsRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-28restore alphabetical order for builtin cli commands (issue #6073)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-26Merged revisions 7634 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r7634 | russell | 2005-12-26 13:19:12 -0500 (Mon, 26 Dec 2005) | 2 lines cast time_t to an int in printf/scanf (issue #5635) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20- move the string join() function to utils.c since it is used in both cli.c ↵Russell Bryant
and res_agi.c - reimplement ast_join to be of linear effieciency instead of quadratic - remove some useless checks for "if (e)" - reorder checks for strings starting with '_' to avoid a useless call to ast_join() - check array bounds when parsing arguments to AGI (issue #5868) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-07This is the first round of removing applications that were marked as deprecatedRussell Bryant
in the 1.2 release. They are being removed from the trunk and will not be in the next major release. The following is a list of the applications that are being removed in this commit: Curl, Cut, Sort, DBPut, DBGet, ENUMLookup, Eval GetGroupCount, SetGroup, CheckGroup, GetGroupMatchCount MD5, MD5Check, Math, SetCIDName, SetCIDNum, SetRDNIS, SetCallerID TXTCIDName, AbsoluteTimeout, DigitTimeout, ResponseTimeout, SetAccount SetLanguage, SetVar (renamed to Set) These changes also include moving the "group show channels" cli command from app_groupcount.c to cli.c. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29remove extraneous svn:executable propertiesKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29Add a minor optimization to CLI tab completion functions for channels.Russell Bryant
Also, clean up some formatting and coding guidelines issues. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21issue #5804Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-05stop recompiling cli.c on every 'make'Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-24Doxygen documentation update from oej (issue #5505)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-11fix command listing for top level CLI commands (issue #5416)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25Fix CLI completion issue (bug #5041)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-24Fix CLI memory leak (bug #5035)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14update MANY more files with proper copyright/license info (thanks Ian!)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6596 65c4cc65-6c06-0410-ace0-fbb531ad65f3