summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2015-12-03 05:50:50 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2015-12-03 05:50:50 -0600
commitb841b2fa11329dd2de27bd463ed54e6b627229c8 (patch)
tree2f84e11945cc79e16e7362a7feaada6f466036c3 /main
parent356e0180a56bc3385d0ea86dd9b248b89992f106 (diff)
parentef77439e39fe7bfc894e4ad41b866d3f6cf8f750 (diff)
Merge "sched.c: Make not return a sched id of 0."
Diffstat (limited to 'main')
-rw-r--r--main/sched.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/main/sched.c b/main/sched.c
index a7e670320..7b7021d61 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;