Don't add an empty MESSAGE_DATA(key) header if it doesn't already exist.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 6 Apr 2012 19:58:44 +0000 (19:58 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 6 Apr 2012 19:58:44 +0000 (19:58 +0000)
Doing Set(MESSAGE_DATA(key)=) would add an empty key header if the key
header did not already exist.  If it already existed it would delete it.

* Made msg_set_var_full() exit early if the named variable did not already
exist and the value to set is empty.
........

Merged revisions 361522 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@361523 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/message.c

index c810c84..5722969 100644 (file)
@@ -494,6 +494,9 @@ static int msg_set_var_full(struct ast_msg *msg, const char *name, const char *v
        struct msg_data *data;
 
        if (!(data = msg_data_find(msg->vars, name))) {
+               if (ast_strlen_zero(value)) {
+                       return 0;
+               }
                if (!(data = msg_data_alloc())) {
                        return -1;
                };