dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

57 Commits

Author SHA1 Message Date
rizzo ee5146aeb7 another conversion from ast_build_str to ast_str
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48517 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-16 09:56:31 +00:00
rizzo b68b240ef8 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: http://svn.digium.com/svn/asterisk/trunk@48510 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-15 23:10:42 +00:00
rizzo 4dd25f76a0 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: http://svn.digium.com/svn/asterisk/trunk@48408 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-12 09:40:45 +00:00
russell 8048b9c718 Constify a bunch of the usage strings for CLI commands.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48302 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-06 07:23:32 +00:00
tilghman fb583000ba 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: http://svn.digium.com/svn/asterisk/trunk@48180 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-01 19:41:02 +00:00
rizzo 34f862cfb9 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: http://svn.digium.com/svn/asterisk/trunk@47827 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-18 20:08:17 +00:00
rizzo 9c02454023 remove a debugging message
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47818 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17 22:56:58 +00:00
rizzo 0d322d21da convert "help" to new style,
fix completion of arguments past the first one
that i broke earlier today.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47817 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17 22:53:57 +00:00
rizzo f908b78fdb standardize "module show [like]"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47815 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17 22:02:15 +00:00
rizzo eaad3b43af 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: http://svn.digium.com/svn/asterisk/trunk@47813 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17 21:50:55 +00:00
rizzo 40d3daf0ad merge the implemenmtation of "core set debug" and "core set verbose".
No externally visible changes.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47790 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17 12:26:15 +00:00
rizzo 5cea0449f7 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: http://svn.digium.com/svn/asterisk/trunk@47787 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17 11:12:13 +00:00
rizzo 3b59d07cc5 remove an unused function
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47769 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16 21:57:23 +00:00
rizzo e48a9fd51b reduce indentation on a large function.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47732 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16 14:58:24 +00:00
rizzo eb37a79bc1 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: http://svn.digium.com/svn/asterisk/trunk@47731 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16 14:41:28 +00:00
rizzo db4a58f62f 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: http://svn.digium.com/svn/asterisk/trunk@47727 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16 14:21:30 +00:00
rizzo 28823899ca small simplifications and localization of variables.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47667 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 17:17:07 +00:00
rizzo 8840b9eb9d new-style "core show channels"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47665 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 17:05:55 +00:00
rizzo 62e792a352 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: http://svn.digium.com/svn/asterisk/trunk@47664 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 16:39:38 +00:00
rizzo 10ba53709e move another deprecated command to the new style
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47663 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 16:20:23 +00:00
rizzo fd41174e4a 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: http://svn.digium.com/svn/asterisk/trunk@47662 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 16:13:30 +00:00
rizzo 0c19d9d24a 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: http://svn.digium.com/svn/asterisk/trunk@47654 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 15:02:56 +00:00
rizzo f9e2a5e530 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: http://svn.digium.com/svn/asterisk/trunk@47652 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15 14:11:28 +00:00
rizzo 0421f7a065 add missing casts and remove an unused function.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47630 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 22:08:20 +00:00
rizzo 3e8f01e053 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: http://svn.digium.com/svn/asterisk/trunk@47620 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 17:00:39 +00:00
rizzo 4956491321 partly convert to new style set-verbose, with completion fixes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47619 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 16:55:27 +00:00
rizzo d0d9984214 replace two deprecated functions with calls to the standard ones,
with fixes to argc/argv



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47616 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 16:38:35 +00:00
rizzo db1aece679 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: http://svn.digium.com/svn/asterisk/trunk@47614 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 16:31:57 +00:00
rizzo d5afd43f2c new-style for 'core show uptime', include 'complete' support and better error checking
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47609 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 16:09:08 +00:00
rizzo eec3f00ad3 apply previous fix to old-style cli entries as well.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47608 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 15:55:18 +00:00
rizzo 9372c9e409 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: http://svn.digium.com/svn/asterisk/trunk@47607 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 15:39:03 +00:00
rizzo 0e4858d26a 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: http://svn.digium.com/svn/asterisk/trunk@47606 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-14 15:23:35 +00:00
file 5159dc5744 Return module show to a working state. (issue #8353 reported by jserve)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47544 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-13 16:41:45 +00:00
rizzo 20893eb9b2 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: http://svn.digium.com/svn/asterisk/trunk@47537 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-13 12:04:05 +00:00
rizzo 7b4d165daf free memory when unregistering an entry.
needs to be merged to 1.4



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47536 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-13 12:01:25 +00:00
file 07598d64cc A trunk that builds is a productive trunk.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47464 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-10 19:51:15 +00:00
tilghman 597aa05da5 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: http://svn.digium.com/svn/asterisk/trunk@47439 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-10 17:01:06 +00:00
russell 3a8d33312d 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: http://svn.digium.com/svn/asterisk/trunk@47378 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-09 16:30:06 +00:00
russell 9b0ed01cdc 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: http://svn.digium.com/svn/asterisk/trunk@47376 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-09 16:26:47 +00:00
russell 9e70dc3fcb 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: http://svn.digium.com/svn/asterisk/trunk@47374 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-09 16:20:43 +00:00
russell 55b9d0b61c 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: http://svn.digium.com/svn/asterisk/trunk@47367 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-09 15:51:15 +00:00
russell 8891d7151b 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: http://svn.digium.com/svn/asterisk/trunk@47198 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-04 18:12:31 +00:00
russell c338f06d38 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: http://svn.digium.com/svn/asterisk/trunk@47197 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-04 18:11:18 +00:00
russell 400f858937 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: http://svn.digium.com/svn/asterisk/trunk@47193 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-04 17:40:42 +00:00
rizzo 170b60b222 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: http://svn.digium.com/svn/asterisk/trunk@47129 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-03 18:13:26 +00:00
tilghman 278341b071 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: http://svn.digium.com/svn/asterisk/trunk@47052 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-02 23:16:09 +00:00
kpfleming 470f688a28 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: http://svn.digium.com/svn/asterisk/trunk@46201 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-25 14:44:50 +00:00
russell 21cbb8bb68 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: http://svn.digium.com/svn/asterisk/trunk@45623 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-19 01:00:57 +00:00
qwell fcfda97ed2 Merged revisions 44053 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44053 | qwell | 2006-09-29 15:35:09 -0700 (Fri, 29 Sep 2006) | 3 lines

Fix a bug with the removal of 'atleast' argument to 'core verbose' and 'core debug'.
Add that argument back in.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44054 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-29 22:36:29 +00:00
kpfleming 60b3bb94a2 Merged revisions 43978 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43978 | kpfleming | 2006-09-29 08:45:40 -0500 (Fri, 29 Sep 2006) | 2 lines

proper fix for ast_group_t change

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43979 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-29 13:46:33 +00:00