diff options
author | Richard Mudgett <rmudgett@digium.com> | 2015-11-30 16:42:47 -0600 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2015-12-01 13:53:18 -0600 |
commit | e7c88e11aa753e046fe58a19ac82320c81cc6e2b (patch) | |
tree | 5474b8fdede9e363afc5ab8c05aad3e3c88f1126 /main | |
parent | 4aed349a7bd2e62d82c5e9535f7cf69263eeb60a (diff) |
sched.c: Make not return a sched id of 0.
According to the API doxygen a sched ID of 0 is valid. Unfortunately, 0
was never returned historically and several users incorrectly coded usage
of the returned sched ID assuming that 0 was invalid.
ASTERISK-25476
Change-Id: Ib19c7ebb44ec9fd393ef6646dea806d4f34e3a20
Diffstat (limited to 'main')
-rw-r--r-- | main/sched.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/main/sched.c b/main/sched.c index e92e3ffd0..f851670af 100644 --- a/main/sched.c +++ b/main/sched.c @@ -315,9 +315,16 @@ static int add_ids(struct ast_sched_context *con) if (!new_id) { break; } - new_id->id = i; + + /* + * According to the API doxygen a sched ID of 0 is valid. + * Unfortunately, 0 was never returned historically and + * several users incorrectly coded usage of the returned + * sched ID assuming that 0 was invalid. + */ + new_id->id = ++con->id_queue_size; + AST_LIST_INSERT_TAIL(&con->id_queue, new_id, list); - ++con->id_queue_size; } return con->id_queue_size - original_size; |