Commit Graph

159 Commits

Author SHA1 Message Date
Brett Bryant 5b7933fe5e Janitor patch to change uses of sizeof to ARRAY_LEN
(closes issue #13054)
Reported by: pabelanger
Patches:
      ARRAY_LEN.patch2 uploaded by pabelanger (license 224)
Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 18:09:35 +00:00
Tilghman Lesher 4ff527903e Code wasn't ready to be merged - see -dev list discussion
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@129307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-09 03:39:59 +00:00
Olle Johansson 45e79490ba Implement flags for AGI in the channel structure so taht "show channels" and
AMI commands can display that a channel is under control of an AGI.

Work inspired by work at customer site, but paid for by Edvina AB


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@128240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-05 20:54:30 +00:00
Tilghman Lesher 9af6852e24 Merged revisions 118551 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118551 | tilghman | 2008-05-27 14:15:27 -0500 (Tue, 27 May 2008) | 6 lines

When showing an error message for a command, don't shorten the command output,
as it tends to confuse the user (it's fine for suggesting other commands,
however).
 Reported by: seanbright (on #asterisk-dev)
 Fixed by: me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 19:21:03 +00:00
Tilghman Lesher b5a127daac Modify TIMEOUT() to be accurate down to the millisecond.
(closes issue #10540)
 Reported by: spendergrass
 Patches: 
       20080417__bug10540.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 23:06:23 +00:00
Terry Wilson b02bc230af Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:43:34 +00:00
Tilghman Lesher cfc1df4c1a Whitespace changes only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 23:04:29 +00:00
Tilghman Lesher 26755e3882 Context tracing for channels
(closes issue #11268)
 Reported by: moy
 Patches: 
       chantrace-datastored-encapsulated-rev94934.patch uploaded by moy (license 222)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-18 04:43:33 +00:00
Terry Wilson e823e89b5a Check pointers before freeing (was getting WARNINGS under MALLOC_DEBUG)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 19:03:04 +00:00
Jason Parker 46f4c8946f Merged revisions 97622 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #11718)
........
r97622 | qwell | 2008-01-09 14:28:43 -0600 (Wed, 09 Jan 2008) | 5 lines

Correctly display a message if a command could not be found.
Also fix a comment which may have led to this happening.

Issue 11718, reported by kshumard.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 20:30:54 +00:00
Jason Parker 0c1ded4cb5 Merged revisions 97618 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97618 | qwell | 2008-01-09 14:05:45 -0600 (Wed, 09 Jan 2008) | 1 line

Fix some locking and return value funkiness.  We really shouldn't be unlocking this lock inside of a function, unless we locked it there too.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 20:13:14 +00:00
Tilghman Lesher 43a172de57 Merged revisions 97350 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97350 | tilghman | 2008-01-08 18:44:14 -0600 (Tue, 08 Jan 2008) | 5 lines

Allow filename completion on zero-length modules, remove a memory leak, remove
a file descriptor leak, and make filename completion thread-safe.
Patched and tested by tilghman.
(Closes issue #11681)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 00:51:59 +00:00
Jason Parker 02ea9face7 Add count of total number of calls processed by asterisk during it's lifetime.
Add number of total calls and current calls to SNMP.

Closes issue #10057, patch by jcmoore.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 16:11:05 +00:00
Joshua Colp cbe59ac93e file says... compile before you commit!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28 22:32:57 +00:00
Jason Parker aa0f63d65f Remove "old"-style CLI handler, since nothing uses it anymore.
Closes issue #11403, patch by eliel.  This also completes the janitor project.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28 20:27:40 +00:00
Joshua Colp a6ddf3c7b0 Hide CLI commands starting with _ from tab completion as was done previously.
(closes issue #11395)
Reported by: eliel
Patches:
      cli.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-28 15:48:00 +00:00
Olle Johansson 130a2051fa - Mark "concise" as deprecated
- Restructure other changes to UPGRADE.txt and CHANGES

We're still looking for scripts that replace 
	asterisk -rx "show shannels concise"
by using the manager interface, but still produces the same output.
Anyone?


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26 19:24:23 +00:00
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:09:02 +00:00
Luigi Rizzo a23c055c3d move asterisk/paths.h outside asterisk.h and into those files
who really need it.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 23:16:15 +00:00
Luigi Rizzo 915b97d300 move internal function declarations to include/asterisk/_private.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 22:18:21 +00:00
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:09:03 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Russell Bryant 927901fdef Show the channel unique ID in the "show channel concise" output
(closes issue #11148, requested by falves11, patched by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 21:25:55 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Russell Bryant 56879bf978 Merged revisions 85532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85532 | russell | 2007-10-13 00:24:33 -0500 (Sat, 13 Oct 2007) | 8 lines

Properly handle the case where read() may return the text for more than one
CLI command at once for a remote console.

(closes issue #10888)
Reported by: jamesgolovich
Patches: 
      asterisk-climultiple.diff.txt uploaded by jamesgolovich (license 176)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-21 22:52:20 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Russell Bryant c2ba92b385 Move the CLI commands that were in builtins[] into the cli_cli[] array of CLI
commands and remove the cli_iterator struct.  This gets tab completion working
again.

(closes issue #10970)
Reported by: jamesgolovich
Patches: 
      asterisk-clicomplete.diff.txt uploaded by jamesgolovich (license 176)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-15 13:44:53 +00:00
James Golovich 741c0ba9df Fix compiling cli.c due to differences with new cli system (closes issue
0010966)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-13 08:38:50 +00:00
Russell Bryant eec3f78368 Merged revisions 85533 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85533 | russell | 2007-10-13 01:48:10 -0400 (Sat, 13 Oct 2007) | 12 lines

Fix an issue with console verbosity when running asterisk -rx to execute a command
and retrieve its output.  The issue was that there was no way for the main Asterisk
process to know that the remote console was connecting in the -rx mode.  The way that
James has fixed this is to have all remote consoles muted by default.  Then, regular
remote consoles automatically execute a CLI command to unmute themselves when they
first start up.

(closes issue #10847)
Reported by: atis
Patches: 
      asterisk-consolemute.diff.txt uploaded by jamesgolovich (license 176)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-13 05:53:19 +00:00
Russell Bryant e97a723cf1 Merge a ton of NEW_CLI conversions. Thanks to everyone that helped out! :)
(closes issue #10724)
Reported by: eliel
Patches: 
      chan_skinny.c.patch uploaded by eliel (license 64)
      chan_oss.c.patch uploaded by eliel (license 64)
      chan_mgcp.c.patch2 uploaded by eliel (license 64)
      pbx_config.c.patch uploaded by seanbright (license 71)
      iax2-provision.c.patch uploaded by eliel (license 64)
      chan_gtalk.c.patch uploaded by eliel (license 64)
      pbx_ael.c.patch uploaded by seanbright (license 71)
      file.c.patch uploaded by seanbright (license 71)
      image.c.patch uploaded by seanbright (license 71)
      cli.c.patch uploaded by moy (license 222)
      astobj2.c.patch uploaded by moy (license 222)
      asterisk.c.patch uploaded by moy (license 222)
      res_limit.c.patch uploaded by seanbright (license 71)
      res_convert.c.patch uploaded by seanbright (license 71)
      res_crypto.c.patch uploaded by seanbright (license 71)
      app_osplookup.c.patch uploaded by seanbright (license 71)
      app_rpt.c.patch uploaded by seanbright (license 71)
      app_mixmonitor.c.patch uploaded by seanbright (license 71)
      channel.c.patch uploaded by seanbright (license 71)
      translate.c.patch uploaded by seanbright (license 71)
      udptl.c.patch uploaded by seanbright (license 71)
      threadstorage.c.patch uploaded by seanbright (license 71)
      db.c.patch uploaded by seanbright (license 71)
      cdr.c.patch uploaded by moy (license 222)
      pbd_dundi.c.patch uploaded by moy (license 222)
      app_osplookup-rev83558.patch uploaded by moy (license 222)
      res_clioriginate.c.patch uploaded by moy (license 222)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 19:03:06 +00:00
Russell Bryant 7c01bf15df Don't set the full command string until after verifying that there is not
another CLI command with the same command text registered.  This prevents
a crash if someone accidentally calls ast_cli_register()  on the same CLI
command data twice.  This also fixes a small bug where the helpers list
would get unlocked without being locked if building the full command failed.
(closes issue #10858, reported by jamesgolovich, patched by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 14:55:10 +00:00
Joshua Colp 96b96a5f72 Convert CLI helpers list to rwlist.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 15:28:02 +00:00
Russell Bryant f1f72312bb (closes issue #10192)
Reported by: bbryant
Patches:
      20070720__core_debug_by_file.patch uploaded by bbryant (license 36)
	  (with some modifications by me)
Tested by: russell, bbryant

This set of changes introduces the ability to set the core debug or verbose
levels on a per-file basis.  Interestingly enough, in 1.4, you have the ability
to set core debug for a single file, but that functionality was accidentally
lost in the conversion of the CLI commands to the new format.

This patch improves upon what was in 1.4 by letting you set it for more than 1
file, and by also supporting verbose.

*** Janitor Project ***

This patch also introduces a new macro, ast_verb(), which is similar
to ast_debug().  Setting the per file verbose value only works for messages that
use this macro.  Converting existing uses of ast_verbose() can be done like:

if (option_debug > 2)
   ast_verbose(VERBOSE_PREFIX_3 "Something useful\n");

...

ast_verb(3, "Something useful\n");



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:21:41 +00:00
Tilghman Lesher 81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Russell Bryant d2a85e5f64 After some discussion on the asterisk-dev list, we determined that this approach
for extracting application, function, manager, and agi documentation is the wrong
one to take.  The most severe problem is that the output depends on which modules
are loaded as well as compile time options, which both determine which parts are
available.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 23:02:16 +00:00
Russell Bryant bc8cd717ef Add a CLI command to output docs on CLI commands to a file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 20:42:14 +00:00
Jason Parker ed101a5319 Fix a segfault when trying to tab complete the "core show uptime" command.
Reported in #asterisk-dev on IRC by jcmoore, fixed by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 22:27:09 +00:00
Russell Bryant b179e2155f Convert uses of strdup() to ast_strdup()
(issue #9983, eliel)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 23:01:01 +00:00
Joshua Colp 679733c52a Use read/write lock based lists for group counting.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-13 18:23:12 +00:00
Tilghman Lesher 9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Mark Michelson ca4ca779a9 Found a bug where when "core set debug #" is used, the verbosity is read as the
old value instead of the old debug value, leading to an erroneous status message
after setting. This was purely a cosmetic issue and had no other underlying problems.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 22:59:36 +00:00
Joshua Colp 8b2b3e172b Merged revisions 61805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61805 | file | 2007-04-25 15:21:54 -0400 (Wed, 25 Apr 2007) | 10 lines

Merged revisions 61804 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61804 | file | 2007-04-25 14:52:50 -0400 (Wed, 25 Apr 2007) | 2 lines

Merge rewritten group counting support. No more storing data on the variable list of the channels. That was bad, mmmk? (issue #7497 reported by sabbathbh)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-25 19:27:42 +00:00
Russell Bryant 40e95cd19d Add the channel's Language to the "show channel" CLI command and the DumpChan
application.  (issue #9187, Junky)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@57474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-02 16:59:22 +00:00
Joshua Colp 48517d4bc8 Merged revisions 56008 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r56008 | file | 2007-02-21 19:35:55 -0500 (Wed, 21 Feb 2007) | 2 lines

Print out deprecation notice on usage output of CLI commands. (issue #8925 reported by blitzrage)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-22 00:38:46 +00:00
Russell Bryant f60efe347a This introduces a new dialplan function, DEVSTATE, which allows you to do some
pretty cool things.

First, you can get the device state of anything in the dialplan:
  NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
  NoOp(The conference room 1234 has state ${DEVSTATE(MeetMe:1234)})

Most importantly, this allows you to create custom device states so you can
control phone lamps directly from the dialplan.
  Set(DEVSTATE(Custom:mycustomlamp)=BUSY)
  ...
  exten => mycustomlamp,hint,Custom:mycustomlamp


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-13 22:02:20 +00:00
Russell Bryant 4300a7a6cd - Constify the format string passed to ast_cli()
- Simplify printing out the warranty and license


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-13 05:57:52 +00:00
Joshua Colp b1b339e612 Add core show channels count CLI command. (issue #8932 reported by mr_mehul_shah)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 17:49:04 +00:00
Joshua Colp 21b53af31d Cosmetic changes. Make main source files better conform to coding guidelines and standards. (issue #8679 reported by johann8384)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 00:11:32 +00:00
Jason Parker 7f58759deb Fix filename completion for "module load" and "load" CLI commands.
Issue 8846


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-18 19:03:25 +00:00
Luigi Rizzo d0b9eb93b6 remove now useless extern declarations.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-19 16:35:49 +00:00
Luigi Rizzo ccebf3511c convert the final clients of ast_build_string to use ast_str_*()
Now the only module left using it is chan_sip.c



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 15:38:50 +00:00
Luigi Rizzo 97ce2f8fd8 another conversion from ast_build_str to ast_str
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-16 09:56:31 +00:00
Luigi Rizzo 055abfe9d9 simplify the ast_dynamic_str_*.... routines by
renaming them to ast_str ... and putting the
struct ast_threadstorage pointer into the struct ast_str.

This makes the code a lot more readable.

At this point we can use these routines also to
replace ast_build_string().



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 23:10:42 +00:00
Luigi Rizzo 33cbc5e55e Make sure tab-completion works even when we have typed a fully
matching word (e.g. "sip<TAB>"); this is implemented by this one-line change

-               for (;; dst++, src += n) {
+               for (;src < argindex; dst++, src += n) {

However this code is not exactly trivial to understand, so
i am also adding some comments to help figuring out what it does.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-12 09:40:45 +00:00
Russell Bryant a44e55a3f3 Constify a bunch of the usage strings for CLI commands.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-06 07:23:32 +00:00
Tilghman Lesher 1b2aebad4a Merged revisions 48179 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48179 | tilghman | 2006-12-01 13:38:59 -0600 (Fri, 01 Dec 2006) | 2 lines

Double-unlock error (reported by blitzrage on IRC)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-01 19:41:02 +00:00
Luigi Rizzo f148916c23 Move this macro from cli.c to cli.h so apps can use it
without duplicating the macro or the code:

/*!
 * In many cases we need to print singular or plural
 * words depending on a count. This macro helps us e.g.
 *     printf("we have %d object%s", n, ESS(n));
 */
#define ESS(x) ((x) == 1 ? "" : "s")



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-18 20:08:17 +00:00
Luigi Rizzo 95a99a2469 remove a debugging message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 22:56:58 +00:00
Luigi Rizzo c32cae7e50 convert "help" to new style,
fix completion of arguments past the first one
that i broke earlier today.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 22:53:57 +00:00
Luigi Rizzo 619c4ef0ec standardize "module show [like]"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 22:02:15 +00:00
Luigi Rizzo 4589662f7f describe a bit the patterns that you can have in the commands,
and add support for wildcard (spelled as '%').

On passing fix a bug in the expansion code which was hidden and
appeared when implementing the wildcard
The fix is just the line 'src != argindex', in case someone wants
to test this on 1.4 - but i would just keep this in trunk.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 21:50:55 +00:00
Luigi Rizzo 6f9b6ba0b1 merge the implemenmtation of "core set debug" and "core set verbose".
No externally visible changes.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 12:26:15 +00:00
Luigi Rizzo 867e3d6e5d introduce a bit of regexp support in the internal CLI api.
Now you can specify a cli command as
	"console autoanswer [on|off]"

which means the on|off argument is optional, or

	"console {mute|unmute}"

which means the mute|unmute argument is mandatory.

The blocks in [] or {} do not necessarily need to be at the
end of the string.

Completions for the variant parts are generated automatically.
This should significantly simplify the implementation of
the various handlers.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 11:12:13 +00:00
Luigi Rizzo 0c8f2f1e4c remove an unused function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-16 21:57:23 +00:00
Luigi Rizzo 5fb52f8244 reduce indentation on a large function.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-16 14:58:24 +00:00
Luigi Rizzo e58079b067 use atomic instructions to update the inuse counters
for CLI entriesC. The lock is not protecting this field.

I wonder if the field should be declared 'volatile' as well.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-16 14:41:28 +00:00
Luigi Rizzo 84a5921ab5 make kevin (and 64 bit machines) happy and
remove a cast from char* to int in handling the return
values from new-style handlers.

On passing, note that main/loader.c::ast_load_resource() always return 0
so errors are not propagated up. I am not sure this is the intended
behaviour.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-16 14:21:30 +00:00
Luigi Rizzo 9ddef9890a small simplifications and localization of variables.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 17:17:07 +00:00
Luigi Rizzo b588fc320e new-style "core show channels"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 17:05:55 +00:00
Luigi Rizzo db923f638e more changes to new style of "module load" and "load".
Under FreeBSD, the filename_completion used in the above commands does
not work. Not sure why, but on passing i note that the function is
part of readline and is not reentrant, so it needs to be fixed one way
or another.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 16:39:38 +00:00
Luigi Rizzo f28f07e1b2 move another deprecated command to the new style
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 16:20:23 +00:00
Luigi Rizzo 0e9753f401 move "core set debug" to the new style, and remove duplicated
code for the deprecated handler.

On passing fix a long standing bug in find_cli() which would not
find the longest match - this part (trivial, basically
just update matchlen on a match) must go in 1.4 and possibly 1.2 as well.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 16:13:30 +00:00
Luigi Rizzo 6edcca7b8d one more step cleaning the internal CLI interface:
the NEW_CLI macro now supports extra arguments (to deprecate other commands).
use this to implement unload and reload, and remove some unused functions.
usual completion fixes (as these function accept multiple arguments).

The summary is still a bit inconsistent.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 15:02:56 +00:00
Luigi Rizzo 1781f41b3b update the internal cli api following comments from kevin.
This change basically simplifies the interface of the
new-style handler removing almost all the tricks used in
the previous implementation to achieve backward compatibility
(which is still present and guaranteed.)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-15 14:11:28 +00:00
Luigi Rizzo fbcc8f4de2 add missing casts and remove an unused function.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 22:08:20 +00:00
Luigi Rizzo 3d86c80c15 fix completion for "module reload mod_1 mod_2 ... "
(should do the same for the other similar commands, "reload", "module unload" and so on.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 17:00:39 +00:00
Luigi Rizzo a9259cd8f4 partly convert to new style set-verbose, with completion fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 16:55:27 +00:00
Luigi Rizzo 6e4ed956bc replace two deprecated functions with calls to the standard ones,
with fixes to argc/argv



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 16:38:35 +00:00
Luigi Rizzo dfd4448412 remove duplicated implementation for a deprecated function, use the
original one instead with appropriate changes in argc/argv.

This is not always applicable, but in some simple cases it is.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 16:31:57 +00:00
Luigi Rizzo abdb8002df new-style for 'core show uptime', include 'complete' support and better error checking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 16:09:08 +00:00
Luigi Rizzo 7d38228d6e apply previous fix to old-style cli entries as well.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 15:55:18 +00:00
Luigi Rizzo ff5160e35c fix "core set debug atleast ",
and fix the simple case where a command can have multiple completions,
the first ones coming from keywords in previous CLI entries.

There is no solution yet for the complex case of N1 completions
from a CLI entry, followed by N2 from the next one, and so on,
because the _complete() handlers do not tell us how many matches
it generates, so we don't know how many to skip when interrogating
the other handlers.

The only solution is to avoid, as much as possible, multiple
CLI entries with the same prefix.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 15:39:03 +00:00
Luigi Rizzo fbb143b829 Bring in the improved internal API for the CLI.
WATCH OUT: this changes the binary interface (ABI) for modules,
so e.g. users of g729 codecs need a rebuilt module (but read below).

The new way to write CLI handlers is described in detail in cli.h,
and there are a few converted handlers in cli.c, look for NEW_CLI.

After converting a couple of commands i am convinced that
it is reasonably convenient to use, and it makes it easier to fix the
pending CLI issues.

On passing, note a bug with the current 'complete' architecture:
if a command is a prefix of multiple CLI entries, we miss some
of the possible options. As an example, "core set debug" can
continue with "channel" from one CLI entry, and "off" or "atleast"
from another one.

We address this problem in a separate commit
(when i have figured out a fix, that is).

ABI issues:
I asked Kevin if it was ok to make this change and he said yes.
While it would have been possible to make the change without breaking
the module ABI, the code would have been more convoluted.

I am happy to restore the old ABI (while still being able
to use the "new style" handlers) if there is demand.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-14 15:23:35 +00:00
Joshua Colp 209628c6e2 Return module show to a working state. (issue #8353 reported by jserve)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-13 16:41:45 +00:00
Luigi Rizzo 06c9ef6411 stop looking for new entries when we know we are done.
there is no functional change, so it is not necessary to
bother merging this to 1.4 now.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-13 12:04:05 +00:00
Luigi Rizzo b2e2f3f957 free memory when unregistering an entry.
needs to be merged to 1.4



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-13 12:01:25 +00:00
Joshua Colp 0282cc1a4d A trunk that builds is a productive trunk.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-10 19:51:15 +00:00
Tilghman Lesher 691363656f Merged revisions 47436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47436 | tilghman | 2006-11-10 10:51:55 -0600 (Fri, 10 Nov 2006) | 2 lines

Discussion of these CLI changes resulted in more consistency (Bug 8236)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-10 17:01:06 +00:00
Russell Bryant 7209032ffe Merged revisions 47377 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47377 | russell | 2006-11-09 11:28:15 -0500 (Thu, 09 Nov 2006) | 2 lines

fix tab completion for "core debug channel" and "core no debug channel"

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-09 16:30:06 +00:00
Russell Bryant adf6bb1d9a Merged revisions 47375 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47375 | russell | 2006-11-09 11:24:02 -0500 (Thu, 09 Nov 2006) | 3 lines

Fix "core show channel".  Also, fix tab completion for both "core show channel"
and "core show channels".

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-09 16:26:47 +00:00
Russell Bryant 2ea9bb223f Merged revisions 47372 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47372 | russell | 2006-11-09 11:18:33 -0500 (Thu, 09 Nov 2006) | 3 lines

Fix "core debug channel <whatever>".  I guess someone needs to go through and
audit every CLI command that changed number of arguments ...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-09 16:20:43 +00:00
Russell Bryant f3c0a35b6e Merged revisions 47366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47366 | russell | 2006-11-09 10:49:39 -0500 (Thu, 09 Nov 2006) | 3 lines

Fix another CLI command, "core show uptime" ...
(issue #8323, reported by johnlange, fixed by myself)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-09 15:51:15 +00:00
Russell Bryant 18693a45dc Merged revisions 47196 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47196 | russell | 2006-11-04 13:10:22 -0500 (Sat, 04 Nov 2006) | 2 lines

Fix another bug in "core set debug" ...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-04 18:12:31 +00:00
Russell Bryant 9297a1a8f9 Merged revisions 47195 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47195 | russell | 2006-11-04 12:59:39 -0500 (Sat, 04 Nov 2006) | 2 lines

Really fix the "core set debug" and "core set verbose" CLI commands.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-04 18:11:18 +00:00
Russell Bryant 7ee7429cf7 Merged revisions 47192 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47192 | russell | 2006-11-04 12:38:24 -0500 (Sat, 04 Nov 2006) | 3 lines

fix the "atleast" option to the "core set verbose" and "core set debug"
CLI commands

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-04 17:40:42 +00:00
Luigi Rizzo 55f22da63f Fix "core show channels" and "core show modules".
Not sure it applies like this to 1.4 because of 
deprecate versions of the same command(s).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-03 18:13:26 +00:00
Tilghman Lesher 10875731ec Merged revisions 47051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47051 | tilghman | 2006-11-02 17:00:20 -0600 (Thu, 02 Nov 2006) | 2 lines

Reverse change of "show" to "list" and make several other commands more consistent with "category verb arguments"

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 23:16:09 +00:00
Kevin P. Fleming 749029de38 Merged revisions 46200 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46200 | kpfleming | 2006-10-25 09:32:08 -0500 (Wed, 25 Oct 2006) | 2 lines

apparently developers are still not aware that they should be use ast_copy_string instead of strncpy... fix up many more users, and fix some bugs in the process

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:44:50 +00:00
Russell Bryant bd53e7ee4c Extend the thread storage API such that a custom initialization function can
be called for each thread specific object after they are allocated.  Note that
there was already the ability to define a custom cleanup function.  Also, if
the custom cleanup function is used, it *MUST* call free on the thread
specific object at the end.  There is no way to have this magically done that
I can think of because the cleanup function registered with the pthread
implementation will only call the function back with a pointer to the
thread specific object, not the parent ast_threadstorage object.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19 01:00:57 +00:00