char auth[90] = "";
char *pstr = "";
- if (argc < 3 || argc > 4)
- return RESULT_SHOWUSAGE;
-
- if (argc == 4) {
- if (regcomp(®exbuf, argv[3], REG_EXTENDED | REG_NOSUB))
+ switch (argc) {
+ case 5:
+ if (!strcasecmp(argv[3], "like")) {
+ if (regcomp(®exbuf, argv[4], REG_EXTENDED | REG_NOSUB))
+ return RESULT_SHOWUSAGE;
+ havepattern = 1;
+ } else
return RESULT_SHOWUSAGE;
-
- havepattern = 1;
+ case 3:
+ break;
+ default:
+ return RESULT_SHOWUSAGE;
}
ast_mutex_lock(&userl.lock);
char iabuf[INET_ADDRSTRLEN];
int registeredonly=0;
- if (argc > 5)
- return RESULT_SHOWUSAGE;
-
- if (argc > 3) {
- if (!strcasecmp(argv[3], "registered")) {
+ switch (argc) {
+ case 6:
+ if (!strcasecmp(argv[3], "registered"))
registeredonly = 1;
- } else {
- if (regcomp(®exbuf, argv[3], REG_EXTENDED | REG_NOSUB))
+ else
+ return RESULT_SHOWUSAGE;
+ if (!strcasecmp(argv[4], "like")) {
+ if (regcomp(®exbuf, argv[5], REG_EXTENDED | REG_NOSUB))
return RESULT_SHOWUSAGE;
-
havepattern = 1;
- }
- }
-
- if (argc > 4) {
- if (!strcasecmp(argv[4], "registered")) {
- if (registeredonly)
- return RESULT_SHOWUSAGE;
-
- registeredonly = 1;
- } else {
- if (havepattern)
- return RESULT_SHOWUSAGE;
-
+ } else
+ return RESULT_SHOWUSAGE;
+ break;
+ case 5:
+ if (!strcasecmp(argv[3], "like")) {
if (regcomp(®exbuf, argv[4], REG_EXTENDED | REG_NOSUB))
return RESULT_SHOWUSAGE;
-
havepattern = 1;
- }
- }
+ } else
+ return RESULT_SHOWUSAGE;
+ break;
+ case 4:
+ if (!strcasecmp(argv[3], "registered"))
+ registeredonly = 1;
+ else
+ return RESULT_SHOWUSAGE;
+ break;
+ case 3:
+ break;
+ default:
+ return RESULT_SHOWUSAGE;
+ }
ast_mutex_lock(&peerl.lock);
ast_cli(fd, FORMAT2, "Name/Username", "Host", " ", "Mask", "Port", " ", "Status");
static char show_users_usage[] =
-"Usage: iax2 show users [pattern]\n"
+"Usage: iax2 show users [like <pattern>]\n"
" Lists all known IAX2 users.\n"
" Optional regular expression pattern is used to filter the user list.\n";
" Lists network status for all currently active IAX channels.\n";
static char show_peers_usage[] =
-"Usage: iax2 show peers [registered] [pattern]\n"
+"Usage: iax2 show peers [registered] [like <pattern>]\n"
" Lists all known IAX2 peers.\n"
-" Optional 'registered' argument lists only peers with known addresses.\n"
+" Optional 'registered' argument lists only peers with known addresses.\n"
" Optional regular expression pattern is used to filter the peer list.\n";
static char show_firmware_usage[] =
#define FORMAT "%-25.25s %-15.15s %-15.15s %-15.15s %-5.5s%-10.10s\n"
- if (argc > 4)
- return RESULT_SHOWUSAGE;
-
- if (argc == 4) {
- if (regcomp(®exbuf, argv[3], REG_EXTENDED | REG_NOSUB))
+ switch (argc) {
+ case 5:
+ if (!strcasecmp(argv[3], "like")) {
+ if (regcomp(®exbuf, argv[4], REG_EXTENDED | REG_NOSUB))
+ return RESULT_SHOWUSAGE;
+ havepattern = 1;
+ } else
return RESULT_SHOWUSAGE;
-
- havepattern = 1;
+ case 3:
+ break;
+ default:
+ return RESULT_SHOWUSAGE;
}
ast_cli(fd, FORMAT, "Username", "Secret", "Accountcode", "Def.Context", "ACL", "NAT");
snprintf(idtext,256,"ActionID: %s\r\n",id);
}
- if (argc > 4)
- return RESULT_SHOWUSAGE;
-
- if (argc == 4) {
- if (regcomp(®exbuf, argv[3], REG_EXTENDED | REG_NOSUB))
+ switch (argc) {
+ case 5:
+ if (!strcasecmp(argv[3], "like")) {
+ if (regcomp(®exbuf, argv[4], REG_EXTENDED | REG_NOSUB))
+ return RESULT_SHOWUSAGE;
+ havepattern = 1;
+ } else
return RESULT_SHOWUSAGE;
-
- havepattern = 1;
+ case 3:
+ break;
+ default:
+ return RESULT_SHOWUSAGE;
}
if (!s) { /* Normal list */
" Message types are defined in sip_notify.conf\n";
static char show_users_usage[] =
-"Usage: sip show users [pattern]\n"
+"Usage: sip show users [like <pattern>]\n"
" Lists all known SIP users.\n"
" Optional regular expression pattern is used to filter the user list.\n";
" Provides detailed dialog history on a given SIP channel.\n";
static char show_peers_usage[] =
-"Usage: sip show peers [pattern]\n"
+"Usage: sip show peers [like <pattern>]\n"
" Lists all known SIP peers.\n"
" Optional regular expression pattern is used to filter the peer list.\n";