make limit work with neg count like limit_hash

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14920 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Rupa Schomaker 2009-09-18 20:01:30 +00:00
parent 14e4f0497d
commit 89e6324c17
1 changed files with 17 additions and 14 deletions

View File

@ -63,9 +63,8 @@ typedef struct {
typedef struct { typedef struct {
switch_hash_t *hash; switch_hash_t *hash;
} limit_hash_private_t; } limit_hash_private_t;
static char limit_sql[] = static char limit_sql[] =
"CREATE TABLE limit_data (\n" "CREATE TABLE limit_data (\n"
" hostname VARCHAR(255),\n" " hostname VARCHAR(255),\n"
@ -1172,19 +1171,23 @@ SWITCH_STANDARD_APP(limit_hash_function)
realm = argv[0]; realm = argv[0];
id = argv[1]; id = argv[1];
/* If max is omitted, only act as a counter and skip maximum checks */ /* If max is omitted or negative, only act as a counter and skip maximum checks */
if (argc > 2) { if (argc > 2) {
char *szinterval = NULL; if (argv[2][0] == '-') {
if ((szinterval = strchr(argv[2], '/'))) max = -1;
{ } else {
*szinterval++ = '\0'; char *szinterval = NULL;
interval = atoi(szinterval); if ((szinterval = strchr(argv[2], '/')))
} {
*szinterval++ = '\0';
max = atoi(argv[2]); interval = atoi(szinterval);
}
if (max < 0) {
max = 0; max = atoi(argv[2]);
if (max < 0) {
max = 0;
}
} }
} }