]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
missed a spot
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 26 Feb 2009 00:38:14 +0000 (00:38 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 26 Feb 2009 00:38:14 +0000 (00:38 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12292 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/esl/src/esl_event.c
src/switch_event.c

index 45112786bca6c2278c0ee75e59eb03fa17808934..7abf063832975ee7b1c4d0b6485c90657fe6899d 100644 (file)
@@ -147,7 +147,7 @@ ESL_DECLARE(esl_status_t) esl_event_create_subclass(esl_event_t **event, esl_eve
 {
        *event = NULL;
 
-       if (event_id != ESL_EVENT_CUSTOM && subclass_name) {
+       if ((event_id > 0 && event_id != ESL_EVENT_CUSTOM) && subclass_name) {
                return ESL_FAIL;
        }
 
@@ -157,9 +157,10 @@ ESL_DECLARE(esl_status_t) esl_event_create_subclass(esl_event_t **event, esl_eve
 
        memset(*event, 0, sizeof(esl_event_t));
 
-       (*event)->event_id = event_id;
-
-       esl_event_add_header_string(*event, ESL_STACK_BOTTOM, "Event-Name", esl_event_name((*event)->event_id));
+       if (event_id) {
+               (*event)->event_id = event_id;
+               esl_event_add_header_string(*event, ESL_STACK_BOTTOM, "Event-Name", esl_event_name((*event)->event_id));
+       }
 
        if (subclass_name) {
                (*event)->subclass_name = DUP(subclass_name);
@@ -389,20 +390,17 @@ ESL_DECLARE(void) esl_event_destroy(esl_event_t **event)
 
 ESL_DECLARE(esl_status_t) esl_event_dup(esl_event_t **event, esl_event_t *todup)
 {
-       esl_event_header_t *hp, *hp2;
+       esl_event_header_t *hp;
 
-       if (esl_event_create_subclass(event, todup->event_id, todup->subclass_name) != ESL_SUCCESS) {
+       if (esl_event_create_subclass(event, 0, todup->subclass_name) != ESL_SUCCESS) {
                return ESL_FAIL;
        }
 
-       if (todup->subclass_name) {
-               (*event)->subclass_name = DUP(todup->subclass_name);
-       }
+       (*event)->event_id = todup->event_id;
+
        (*event)->event_user_data = todup->event_user_data;
        (*event)->bind_user_data = todup->bind_user_data;
 
-       hp2 = (*event)->headers;
-
        for (hp = todup->headers; hp; hp = hp->next) {
                esl_event_add_header_string(*event, ESL_STACK_BOTTOM, hp->name, hp->value);
        }
index 85d0533f5e0129c1c61ddfb1a1b8bf7a50d8521e..e6e3bac5c69497cd0e9daf7fe7a7455a8f7c5bce 100644 (file)
@@ -598,7 +598,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
 
        *event = NULL;
 
-       if (event_id != SWITCH_EVENT_CUSTOM && subclass_name) {
+       if ((event_id > 0 && event_id != SWITCH_EVENT_CUSTOM) && subclass_name) {
                return SWITCH_STATUS_GENERR;
        }
 
@@ -611,9 +611,10 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
 
        memset(*event, 0, sizeof(switch_event_t));
 
-       (*event)->event_id = event_id;
-
-       switch_event_prep_for_delivery_detailed(file, func, line, *event);
+       if (event_id) {
+               (*event)->event_id = event_id;
+               switch_event_prep_for_delivery_detailed(file, func, line, *event);
+       }
 
        if (subclass_name) {
                (*event)->subclass_name = DUP(subclass_name);
@@ -810,20 +811,16 @@ SWITCH_DECLARE(void) switch_event_destroy(switch_event_t **event)
 
 SWITCH_DECLARE(switch_status_t) switch_event_dup(switch_event_t **event, switch_event_t *todup)
 {
-       switch_event_header_t *hp, *hp2;
+       switch_event_header_t *hp;
 
-       if (switch_event_create_subclass(event, todup->event_id, todup->subclass_name) != SWITCH_STATUS_SUCCESS) {
+       if (switch_event_create_subclass(event, 0, todup->subclass_name) != SWITCH_STATUS_SUCCESS) {
                return SWITCH_STATUS_GENERR;
        }
 
-       if (todup->subclass_name) {
-               (*event)->subclass_name = DUP(todup->subclass_name);
-       }
+       (*event)->event_id = todup->event_id;
        (*event)->event_user_data = todup->event_user_data;
        (*event)->bind_user_data = todup->bind_user_data;
 
-       hp2 = (*event)->headers;
-
        for (hp = todup->headers; hp; hp = hp->next) {
                switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, hp->name, hp->value);
        }