Commit 74c6433955 for freeswitch.com

commit 74c64339556362ab70e99976a90aca54e31b2c27
Author: Andrey Volk <andywolk@gmail.com>
Date:   Tue Dec 24 14:46:13 2024 +0300

    [mod_yaml] Remove from tree

diff --git a/Makefile.am b/Makefile.am
index 09574caa6c..840d114c65 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -588,10 +588,6 @@ libs/srtp/libsrtp.la: libs/srtp libs/srtp/.update $(SRTP_SRC)
 ##
 ## helper targets
 ##
-yaml-files:
-	@echo `mkdir $(DESTDIR)$(confdir)/yaml 2>/dev/null`
-	$(INSTALL) -m 644 $(switch_srcdir)/conf/default/yaml/*.yaml $(DESTDIR)$(confdir)/yaml
-
 vm-sync:
 	test -d $(DESTDIR)$(confdir) || $(mkinstalldirs) $(DESTDIR)$(confdir)
 	test -d $(DESTDIR)$(confdir)/lang || $(mkinstalldirs) $(DESTDIR)$(confdir)/lang
diff --git a/build/modules.conf.in b/build/modules.conf.in
index 4ce889c3ae..07830a2615 100755
--- a/build/modules.conf.in
+++ b/build/modules.conf.in
@@ -108,7 +108,6 @@ languages/mod_lua
 #languages/mod_python
 #languages/mod_python3
 #languages/mod_v8
-#languages/mod_yaml
 loggers/mod_console
 #loggers/mod_graylog2
 loggers/mod_logfile
diff --git a/build/modules.conf.most b/build/modules.conf.most
index b0c6cf5673..18278732a4 100755
--- a/build/modules.conf.most
+++ b/build/modules.conf.most
@@ -103,7 +103,6 @@ languages/mod_managed
 languages/mod_perl
 languages/mod_python3
 #languages/mod_v8
-languages/mod_yaml
 loggers/mod_console
 loggers/mod_graylog2
 loggers/mod_logfile
diff --git a/conf/insideout/autoload_configs/modules.conf.xml b/conf/insideout/autoload_configs/modules.conf.xml
index f03dfb749c..267ff4b602 100755
--- a/conf/insideout/autoload_configs/modules.conf.xml
+++ b/conf/insideout/autoload_configs/modules.conf.xml
@@ -6,8 +6,6 @@
     <load module="mod_logfile"/>
     <!-- <load module="mod_syslog"/> -->

-    <!--<load module="mod_yaml"/>-->
-
     <!-- Multi-Faceted -->
     <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
     <load module="mod_enum"/>
diff --git a/conf/vanilla/autoload_configs/modules.conf.xml b/conf/vanilla/autoload_configs/modules.conf.xml
index 6363e233cb..ad37dc9b15 100755
--- a/conf/vanilla/autoload_configs/modules.conf.xml
+++ b/conf/vanilla/autoload_configs/modules.conf.xml
@@ -6,8 +6,6 @@
     <load module="mod_logfile"/>
     <!-- <load module="mod_syslog"/> -->

-    <!--<load module="mod_yaml"/>-->
-
     <!-- Multi-Faceted -->
     <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
     <load module="mod_enum"/>
diff --git a/conf/vanilla/yaml/extensions.yaml b/conf/vanilla/yaml/extensions.yaml
deleted file mode 100644
index f74fcf2e3d..0000000000
--- a/conf/vanilla/yaml/extensions.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-default:
-    ${destination_number} =~ (9664):
-        set: foo=bar
-        playback: ${hold_music}
diff --git a/conf/vanilla/yaml/mod_yaml.yaml b/conf/vanilla/yaml/mod_yaml.yaml
deleted file mode 100644
index 65f1b05dda..0000000000
--- a/conf/vanilla/yaml/mod_yaml.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-settings:
-#look for foo.conf.yaml when foo.conf is looked for in the xml
-   bind_config: true
-
-
-
diff --git a/configure.ac b/configure.ac
index 579af2795e..0013e481eb 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1330,9 +1330,6 @@ PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.6.20])
 PKG_CHECK_MODULES([CURL], [libcurl >= 7.19])
 PKG_CHECK_MODULES([PCRE], [libpcre >= 7.8])
 PKG_CHECK_MODULES([SPEEX], [speex >= 1.2rc1 speexdsp >= 1.2rc1])
-PKG_CHECK_MODULES([YAML], [yaml-0.1 >= 0.1.4],[
-  AM_CONDITIONAL([HAVE_YAML],[true])],[
-  AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_YAML],[false])])
 PKG_CHECK_MODULES([LDNS], [libldns-fs >= 1.6.6],[
   AM_CONDITIONAL([HAVE_LDNS],[true])],[
 PKG_CHECK_MODULES([LDNS], [libldns >= 1.6.6],[
@@ -2204,7 +2201,6 @@ AC_CONFIG_FILES([Makefile
 		src/mod/languages/mod_python/Makefile
 		src/mod/languages/mod_python3/Makefile
 		src/mod/languages/mod_v8/Makefile
-		src/mod/languages/mod_yaml/Makefile
 		src/mod/languages/mod_basic/Makefile
 		src/mod/loggers/mod_console/Makefile
 		src/mod/loggers/mod_graylog2/Makefile
diff --git a/debian/bootstrap.sh b/debian/bootstrap.sh
index 2938661c50..3700891c20 100755
--- a/debian/bootstrap.sh
+++ b/debian/bootstrap.sh
@@ -655,7 +655,6 @@ Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
  freeswitch-mod-lua (= \${binary:Version}),
  freeswitch-mod-perl (= \${binary:Version}),
  freeswitch-mod-python3 (= \${binary:Version}),
- freeswitch-mod-yaml (= \${binary:Version}),
  freeswitch-mod-console (= \${binary:Version}),
  freeswitch-mod-logfile (= \${binary:Version}),
  freeswitch-mod-syslog (= \${binary:Version}),
@@ -873,7 +872,6 @@ Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
  freeswitch-mod-lua-dbg (= \${binary:Version}),
  freeswitch-mod-perl-dbg (= \${binary:Version}),
  freeswitch-mod-python3-dbg (= \${binary:Version}),
- freeswitch-mod-yaml-dbg (= \${binary:Version}),
  freeswitch-mod-console-dbg (= \${binary:Version}),
  freeswitch-mod-logfile-dbg (= \${binary:Version}),
  freeswitch-mod-syslog-dbg (= \${binary:Version}),
diff --git a/debian/control-modules b/debian/control-modules
index 3a9aa9c5b6..9229654cb7 100755
--- a/debian/control-modules
+++ b/debian/control-modules
@@ -558,11 +558,6 @@ Description: mod_v8
  Adds mod_v8.
 Build-Depends: git, libv8-6.1-dev

-Module: languages/mod_yaml
-Description: mod_yaml
- Adds mod_yaml.
-Build-Depends: libyaml-dev, libglib2.0-dev
-
 ## mod/loggers

 Module: loggers/mod_console
diff --git a/src/mod/languages/mod_yaml/Makefile.am b/src/mod/languages/mod_yaml/Makefile.am
deleted file mode 100644
index 9d02a0fbc1..0000000000
--- a/src/mod/languages/mod_yaml/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-include $(top_srcdir)/build/modmake.rulesam
-MODNAME=mod_yaml
-
-if HAVE_YAML
-
-mod_LTLIBRARIES = mod_yaml.la
-mod_yaml_la_SOURCES  = mod_yaml.c
-mod_yaml_la_CFLAGS   = $(AM_CFLAGS)
-mod_yaml_la_CPPFLAGS = $(AM_CPPFLAGS) $(YAML_CFLAGS)
-mod_yaml_la_LIBADD   = $(switch_builddir)/libfreeswitch.la $(YAML_LIBS)
-mod_yaml_la_LDFLAGS  = -avoid-version -module -no-undefined -shared
-
-else
-install: error
-all: error
-error:
-	$(error You must install libyaml-dev to build mod_yaml)
-endif
diff --git a/src/mod/languages/mod_yaml/mod_yaml.c b/src/mod/languages/mod_yaml/mod_yaml.c
deleted file mode 100644
index 4c824e7137..0000000000
--- a/src/mod/languages/mod_yaml/mod_yaml.c
+++ /dev/null
@@ -1,529 +0,0 @@
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * Anthony Minessale II <anthm@freeswitch.org>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Anthony Minessale II <anthm@freeswitch.org>
-
- *
- * mod_yaml.c -- YAML Module
- *
- */
-#include <switch.h>
-#include <yaml.h>
-
-SWITCH_MODULE_LOAD_FUNCTION(mod_yaml_load);
-SWITCH_MODULE_DEFINITION(mod_yaml, mod_yaml_load, NULL, NULL);
-
-static void print_error(yaml_parser_t *parser)
-{
-	switch (parser->error) {
-	case YAML_MEMORY_ERROR:
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory error: Not enough memory for parsing\n");
-		break;
-
-	case YAML_READER_ERROR:
-		if (parser->problem_value != -1) {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Reader error: %s: #%X at %d\n", parser->problem,
-							  parser->problem_value, (int) parser->problem_offset);
-		} else {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Reader error: %s at %d\n", parser->problem, (int) parser->problem_offset);
-		}
-		break;
-
-	case YAML_SCANNER_ERROR:
-		if (parser->context) {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Scanner error: %s at line %d, column %d\n"
-							  "%s at line %d, column %d\n", parser->context,
-							  (int) parser->context_mark.line + 1, (int) parser->context_mark.column + 1,
-							  parser->problem, (int) parser->problem_mark.line + 1, (int) parser->problem_mark.column + 1);
-		} else {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Scanner error: %s at line %d, column %d\n",
-							  parser->problem, (int) parser->problem_mark.line + 1, (int) parser->problem_mark.column + 1);
-		}
-		break;
-
-	case YAML_PARSER_ERROR:
-		if (parser->context) {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Parser error: %s at line %d, column %d\n"
-							  "%s at line %d, column %d\n", parser->context,
-							  (int) parser->context_mark.line + 1, (int) parser->context_mark.column + 1,
-							  parser->problem, (int) parser->problem_mark.line + 1, (int) parser->problem_mark.column + 1);
-		} else {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Parser error: %s at line %d, column %d\n",
-							  parser->problem, (int) parser->problem_mark.line + 1, (int) parser->problem_mark.column + 1);
-		}
-		break;
-
-	default:
-		/* Couldn't happen. */
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Internal error\n");
-		break;
-	}
-}
-
-
-static switch_xml_t parse_file(FILE * input, const char *file_name)
-{
-	yaml_parser_t parser;
-	yaml_event_t event = { 0 };
-	char *scalar_data;
-	int done = 0;
-	int depth = 0;
-	char name[128] = "";
-	char value[128] = "";
-	char category[128] = "";
-	int nv = 0, p_off = 0;
-	switch_xml_t xml, param, top, current = NULL;
-
-	yaml_parser_initialize(&parser);
-	yaml_parser_set_input_file(&parser, input);
-
-
-	if (!(xml = switch_xml_new("document"))) {
-		return NULL;
-	}
-
-	switch_xml_set_attr_d(xml, "type", "freeswitch/xml");
-	current = switch_xml_add_child_d(xml, "section", 0);
-	switch_xml_set_attr_d(current, "name", "configuration");
-
-	top = switch_xml_add_child_d(current, "configuration", 0);
-	switch_xml_set_attr_d(top, "name", file_name);
-
-	while (!done) {
-		if (!yaml_parser_parse(&parser, &event)) {
-			print_error(&parser);
-			break;
-		} else {
-			switch (event.type) {
-			case YAML_MAPPING_START_EVENT:
-				depth++;
-				break;
-			case YAML_MAPPING_END_EVENT:
-				depth--;
-				break;
-			case YAML_STREAM_END_EVENT:
-				done = 1;
-				break;
-			case YAML_SCALAR_EVENT:
-				scalar_data = (char *) event.data.scalar.value;
-				switch (depth) {
-				case 1:
-					if (!(current = switch_xml_add_child_d(top, scalar_data, depth - 1))) {
-						done = 1;
-					}
-					switch_set_string(category, scalar_data);
-					nv = 0;
-					p_off = 0;
-					break;
-				case 2:
-					if (current) {
-						if (nv == 0) {
-							switch_set_string(name, scalar_data);
-							nv++;
-						} else {
-							switch_set_string(value, scalar_data);
-							param = switch_xml_add_child_d(current, "param", p_off++);
-							switch_xml_set_attr_d_buf(param, "name", name);
-							switch_xml_set_attr_d(param, "value", scalar_data);
-							nv = 0;
-						}
-					}
-					break;
-				}
-
-				break;
-			default:
-				break;
-			}
-		}
-
-		yaml_event_delete(&event);
-	}
-
-	yaml_parser_delete(&parser);
-
-	if (input) {
-		fclose(input);
-	}
-#ifdef DEBUG_XML
-	if (xml) {
-		char *foo = switch_xml_toxml(xml, SWITCH_FALSE);
-		printf("%s\n", foo);
-		free(foo);
-	}
-#endif
-
-	return xml;
-
-}
-
-static switch_xml_t yaml_fetch(const char *section,
-							   const char *tag_name, const char *key_name, const char *key_value, switch_event_t *params, void *user_data)
-{
-	char *path;
-	FILE *input;
-	switch_xml_t xml = NULL;
-
-	path = switch_mprintf("%s/yaml/%s.yaml", SWITCH_GLOBAL_dirs.conf_dir, key_value);
-	if ((input = fopen(path, "r"))) {
-		xml = parse_file(input, key_value);
-	} else {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "cannot open %s\n", path);
-	}
-
-	switch_safe_free(path);
-	return xml;
-}
-
-
-static switch_caller_extension_t *parse_dp(FILE * input, switch_core_session_t *session, switch_caller_profile_t *caller_profile)
-{
-	yaml_parser_t parser;
-	yaml_event_t event = { 0 };
-	char *scalar_data;
-	int done = 0;
-	int depth = 0;
-	char name[128] = "";
-	char value[128] = "";
-	char category[128] = "";
-	char *last_field = NULL;
-	int nv = 0;
-	switch_caller_extension_t *extension = NULL;
-	switch_channel_t *channel = switch_core_session_get_channel(session);
-	int context_hit = 0;
-	int proceed = 0;
-	switch_regex_t *re = NULL;
-	int ovector[30];
-	int parens = 0;
-
-	if (!caller_profile) {
-		if (!(caller_profile = switch_channel_get_caller_profile(channel))) {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Obtaining Profile!\n");
-			return NULL;
-		}
-	}
-
-	if (!caller_profile->context) {
-		caller_profile->context = "default";
-	}
-
-	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Processing %s->%s@%s\n",
-					  caller_profile->caller_id_name, caller_profile->destination_number, caller_profile->context);
-
-	yaml_parser_initialize(&parser);
-	yaml_parser_set_input_file(&parser, input);
-
-	while (!done) {
-		if (!yaml_parser_parse(&parser, &event)) {
-			print_error(&parser);
-			break;
-		} else {
-			switch (event.type) {
-			case YAML_MAPPING_START_EVENT:
-				depth++;
-				break;
-			case YAML_MAPPING_END_EVENT:
-				depth--;
-				break;
-			case YAML_STREAM_END_EVENT:
-				done = 1;
-				break;
-			case YAML_SCALAR_EVENT:
-				scalar_data = (char *) event.data.scalar.value;
-				switch (depth) {
-				case 1:
-					switch_set_string(category, scalar_data);
-					context_hit = (!strcasecmp(category, caller_profile->context));
-					nv = 0;
-					break;
-				case 2:
-					if (context_hit) {
-						char *field = switch_core_session_strdup(session, scalar_data);
-						char *p, *e, *expression = NULL, *field_expanded = NULL, *expression_expanded = NULL;
-						const char *field_data = NULL;
-
-						parens = 0;
-						proceed = 0;
-						switch_regex_safe_free(re);
-
-						if ((p = strstr(field, "=~"))) {
-							*p = '\0';
-							e = p - 1;
-							while (*e == ' ') {
-								*e-- = '\0';
-							}
-							e = p + 2;
-							while (*e == ' ') {
-								*e++ = '\0';
-							}
-							expression = e;
-						}
-
-						if (field && expression) {
-							if ((expression_expanded = switch_channel_expand_variables(channel, expression)) == expression) {
-								expression_expanded = NULL;
-							} else {
-								expression = expression_expanded;
-							}
-
-							if (strchr(field, '$')) {
-								if ((field_expanded = switch_channel_expand_variables(channel, field)) == field) {
-									field_expanded = NULL;
-									field_data = field;
-								} else {
-									field_data = field_expanded;
-								}
-							} else {
-								field_data = switch_caller_get_field_by_name(caller_profile, field);
-							}
-							if (!field_data) {
-								field_data = "";
-							}
-							switch_safe_free(last_field);
-							last_field = strdup(field_data);
-
-							switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "test conditions %s(%s) =~ /%s/\n", field, field_data, expression);
-							if (!(proceed = switch_regex_perform(field_data, expression, &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {
-								switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Regex mismatch\n");
-							}
-
-							if (strchr(expression, '(')) {
-								parens++;
-							}
-
-							switch_safe_free(field_expanded);
-							switch_safe_free(expression_expanded);
-						}
-					}
-					break;
-				case 3:
-					if (nv == 0) {
-						if (!strcasecmp(scalar_data, "exit")) {
-							yaml_event_delete(&event);
-							goto end;
-						}
-						switch_set_string(name, scalar_data);
-						nv++;
-					} else {
-						switch_set_string(value, scalar_data);
-						nv = 0;
-						if (proceed) {
-							uint32_t len = 0;
-							char *substituted = NULL;
-							char *app_data;
-
-
-							if (!extension) {
-								extension = switch_caller_extension_new(session, "YAML", caller_profile->destination_number);
-								switch_assert(extension);
-							}
-
-							if (parens) {
-								len = (uint32_t) (strlen(value) + strlen(last_field) + 10) * proceed;
-								switch_zmalloc(substituted, len);
-								switch_perform_substitution(re, proceed, value, last_field, substituted, len, ovector);
-								app_data = substituted;
-							} else {
-								app_data = value;
-							}
-
-							switch_caller_extension_add_application(session, extension, name, app_data);
-							switch_safe_free(substituted);
-						}
-					}
-					break;
-				}
-
-				break;
-			default:
-				break;
-			}
-		}
-
-		yaml_event_delete(&event);
-	}
-
-  end:
-
-	switch_safe_free(last_field);
-	switch_regex_safe_free(re);
-	yaml_parser_delete(&parser);
-
-	if (input) {
-		fclose(input);
-	}
-#ifdef DEBUG_XML
-	if (xml) {
-		char *foo = switch_xml_toxml(xml, SWITCH_FALSE);
-		printf("%s\n", foo);
-		free(foo);
-	}
-#endif
-
-	return extension;
-
-}
-
-SWITCH_STANDARD_DIALPLAN(yaml_dialplan_hunt)
-{
-	switch_caller_extension_t *extension = NULL;
-	char *alt_path = (char *) arg;
-	char *path = NULL;
-	FILE *input;
-
-	if (!zstr(alt_path)) {
-		path = strdup(alt_path);
-	} else {
-		path = switch_mprintf("%s/yaml/extensions.yaml", SWITCH_GLOBAL_dirs.conf_dir);
-	}
-
-	if ((input = fopen(path, "r"))) {
-		extension = parse_dp(input, session, caller_profile);
-	} else {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", path);
-	}
-
-	switch_safe_free(path);
-	return extension;
-}
-
-
-static switch_status_t do_config(void)
-{
-	yaml_parser_t parser;
-	yaml_event_t event = { 0 };
-	char *path;
-	const char *cfg = "mod_yaml.yaml";
-	FILE *input;
-	switch_status_t status = SWITCH_STATUS_FALSE;
-	char *scalar_data;
-	int done = 0;
-	int depth = 0;
-	char name[128] = "";
-	char value[128] = "";
-	char category[128] = "";
-	int nv = 0;
-
-	path = switch_mprintf("%s/yaml/%s", SWITCH_GLOBAL_dirs.conf_dir, cfg);
-
-	if (!(input = fopen(path, "r"))) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", path);
-		goto end;
-	}
-
-	yaml_parser_initialize(&parser);
-	yaml_parser_set_input_file(&parser, input);
-
-	while (!done) {
-		if (!yaml_parser_parse(&parser, &event)) {
-			print_error(&parser);
-			break;
-		} else {
-			switch (event.type) {
-			case YAML_MAPPING_START_EVENT:
-				depth++;
-				break;
-			case YAML_MAPPING_END_EVENT:
-				depth--;
-				break;
-			case YAML_STREAM_END_EVENT:
-				done = 1;
-				break;
-			case YAML_SCALAR_EVENT:
-				scalar_data = (char *) event.data.scalar.value;
-				switch (depth) {
-				case 1:
-					switch_set_string(category, scalar_data);
-					nv = 0;
-					break;
-				case 2:
-					if (nv == 0) {
-						switch_set_string(name, scalar_data);
-						nv++;
-					} else {
-						switch_set_string(value, scalar_data);
-						if (!strcasecmp(category, "settings")) {
-							if (!strcasecmp(name, "bind_config") && switch_true_buf(value)) {
-								switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Binding To XML Config\n");
-								switch_xml_bind_search_function(yaml_fetch, switch_xml_parse_section_string("config"), NULL);
-							}
-						}
-						nv = 0;
-					}
-					break;
-				}
-
-				break;
-			default:
-				break;
-			}
-		}
-
-		yaml_event_delete(&event);
-	}
-
-	yaml_parser_delete(&parser);
-	status = SWITCH_STATUS_SUCCESS;
-
-  end:
-
-	if (input) {
-		fclose(input);
-	}
-
-	switch_safe_free(path);
-
-	return status;
-
-}
-
-SWITCH_MODULE_LOAD_FUNCTION(mod_yaml_load)
-{
-	switch_dialplan_interface_t *dp_interface;
-
-	/* connect my internal structure to the blank pointer passed to me */
-	*module_interface = switch_loadable_module_create_module_interface(pool, modname);
-
-	if (do_config() != SWITCH_STATUS_SUCCESS) {
-		return SWITCH_STATUS_TERM;
-	}
-
-	SWITCH_ADD_DIALPLAN(dp_interface, "YAML", yaml_dialplan_hunt);
-
-	/* indicate that the module should continue to be loaded */
-	return SWITCH_STATUS_SUCCESS;
-}
-
-
-/* For Emacs:
- * Local Variables:
- * mode:c
- * indent-tabs-mode:t
- * tab-width:4
- * c-basic-offset:4
- * End:
- * For VIM:
- * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet:
- */