[asterisk-dev] [Code Review] 4356: realtime: Updates fail to work due to update fields being passed over for lookup fields

Matt Jordan reviewboard at asterisk.org
Mon Jan 19 21:05:51 CST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4356/
-----------------------------------------------------------

Review request for Asterisk Developers and Joshua Colp.


Bugs: ASTERISK-24626
    https://issues.asterisk.org/jira/browse/ASTERISK-24626


Repository: Asterisk


Description
-------

When realtime was moved over to use ast_variable lists to better support sorcery wizards, an apparent coding glitch was introduced in ast_update2_realtime. The usage of this function is a bit interesting: A variable argument list is used with two sentinel values - the first marks the end of the lookup fields/values; the second marks the end of the update fields/values. A typical call looks like this:

./apps/app_voicemail.c:	if (ast_update2_realtime("voicemail", "context", vmu->context, "mailbox", vmu->mailbox, SENTINEL, "password", password, SENTINEL) > 0) {

Unfortunately, ast_update2_realtime parses over the lookup fields twice, as opposed to parsing over the update fields. This causes the lookups to succeed, but the updates itself to have no effect.

Thanks to the issue reporter, Paddy Grice, for pointing out the problem.


Diffs
-----

  /branches/13/main/config.c 430800 

Diff: https://reviewboard.asterisk.org/r/4356/diff/


Testing
-------


Thanks,

Matt Jordan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150120/7b3beccc/attachment.html>


More information about the asterisk-dev mailing list