]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fix up SWITCH_CONFIG_ITEM_STRING_STRDUP to please windows
authorMathieu Rene <mrene@avgs.ca>
Thu, 18 Jun 2009 06:01:45 +0000 (06:01 +0000)
committerMathieu Rene <mrene@avgs.ca>
Thu, 18 Jun 2009 06:01:45 +0000 (06:01 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13829 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_xml_config.h
src/switch_xml_config.c

index 0312d9113dbb6490e7a1463ac16776cf380e9735..9f791f38d14be0ffbdada52ec118a034160ed27f 100644 (file)
@@ -99,7 +99,7 @@ struct switch_xml_config_item {
 };
 
 #define SWITCH_CONFIG_ITEM(_key, _type, _flags, _ptr, _defaultvalue, _data, _syntax, _helptext)        { _key, _type, _flags, _ptr, (void*)_defaultvalue, (void*)_data, NULL, _syntax, _helptext }
-#define SWITCH_CONFIG_ITEM_STRING_STRDUP(_key, _flags, _ptr, _defaultvalue, _syntax, _helptext)        { (_key), SWITCH_CONFIG_STRING, (_flags), (_ptr), ((void*)_defaultvalue), (&switch_config_string_strdup), (NULL), (_syntax), (_helptext) }
+#define SWITCH_CONFIG_ITEM_STRING_STRDUP(_key, _flags, _ptr, _defaultvalue, _syntax, _helptext)        { (_key), SWITCH_CONFIG_STRING, (_flags), (_ptr), ((void*)_defaultvalue), (NULL), (NULL), (_syntax), (_helptext) }
 #define SWITCH_CONFIG_ITEM_CALLBACK(_key, _type, _flags, _ptr, _defaultvalue, _function, _functiondata, _syntax, _helptext)    { _key, _type, _flags, _ptr, (void*)_defaultvalue, _functiondata, _function, _syntax, _helptext }
 #define SWITCH_CONFIG_ITEM_END() { NULL, SWITCH_CONFIG_LAST, 0, NULL, NULL, NULL, NULL, NULL, NULL }
 
index 79ea0082798dc9f1344b7bd81ab9902e47156a23..a013e34921e4a9b43f81c7fa9545e7f520f30cdc 100644 (file)
@@ -201,15 +201,10 @@ SWITCH_DECLARE(switch_status_t) switch_xml_config_parse_event(switch_event_t *ev
                                break;
                        case SWITCH_CONFIG_STRING:
                                {
-                                       switch_xml_config_string_options_t *string_options = (switch_xml_config_string_options_t*)item->data;
+                                       switch_xml_config_string_options_t string_options_default = { 0 };
+                                       switch_xml_config_string_options_t *string_options = item->data ? (switch_xml_config_string_options_t*)item->data : &string_options_default;
                                        const char *newstring = NULL;
                                        
-                                       if (!string_options) {
-                                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Missing mandatory switch_xml_config_string_options_t structure for parameter [%s], skipping!\n",
-                                                                                 item->key);
-                                               return SWITCH_STATUS_FALSE;
-                                       }
-                                       
                                        /* Perform validation */
                                        if (value) {
                                                if (!switch_strlen_zero(string_options->validation_regex)) {