[Freeswitch-svn] [commit] r1836 - in freeswitch/branches/mishehu/src: . mod/applications/mod_conference mod/loggers/mod_cdr mod/loggers/mod_syslog

Freeswitch SVN mishehu at freeswitch.org
Tue Jul 11 20:12:19 EDT 2006


Author: mishehu
Date: Tue Jul 11 20:12:18 2006
New Revision: 1836

Modified:
   freeswitch/branches/mishehu/src/mod/applications/mod_conference/mod_conference.c
   freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp
   freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp
   freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.h
   freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/csvcdr.cpp
   freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp
   freeswitch/branches/mishehu/src/mod/loggers/mod_syslog/mod_syslog.c
   freeswitch/branches/mishehu/src/switch_core.c
   freeswitch/branches/mishehu/src/switch_loadable_module.c

Log:
Discovered a bug on non-varchar null commits to MySQL in MysqlCDR.  Need to debug.

Modified: freeswitch/branches/mishehu/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/branches/mishehu/src/mod/applications/mod_conference/mod_conference.c	(original)
+++ freeswitch/branches/mishehu/src/mod/applications/mod_conference/mod_conference.c	Tue Jul 11 20:12:18 2006
@@ -557,7 +557,7 @@
 						for (x = 0; x < imember->read / 2; x++) {
 							int32_t z = muxed[x] + bptr[x];
 							normalize_to_16bit(z);
-							muxed[x] = z;
+							muxed[x] = (int16_t)z;
 						}
 						
 						ready++;

Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp
==============================================================================
--- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp	(original)
+++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/anthmcdr.cpp	Tue Jul 11 20:12:18 2006
@@ -64,7 +64,7 @@
 		char callenddate_forfile[25];
 		switch_strftime(callenddate_forfile,&retsizeceff,sizeof(callenddate_forfile),format_forfile,&tempcallend);
 		outputfile_name = outputfile_path;
-		outputfile_name.append("/");
+		outputfile_name.append(SWITCH_PATH_SEPARATOR);
 		outputfile_name.append(callenddate_forfile); // Make sorting a bit easier, kinda like Maildir does
 		outputfile_name.append(".");
 		outputfile_name.append(myuuid);  // The goal is to have a resulting filename of "/path/to/myuuid"

Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp
==============================================================================
--- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp	(original)
+++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.cpp	Tue Jul 11 20:12:18 2006
@@ -217,7 +217,7 @@
 	}
 }
 
-void BaseCDR::parse_channel_variables_xconfig(std::string& unparsed,std::list<std::string>& chanvarlist,std::vector<switch_mod_cdr_sql_types>& chanvars_fixed_types)
+void BaseCDR::parse_channel_variables_xconfig(std::string& unparsed,std::list<std::string>& chanvarlist,std::vector<switch_mod_cdr_sql_types_t>& chanvars_fixed_types)
 {
 	bool fixed = 1;
 	std::string tempstring, tempstring2;
@@ -297,13 +297,14 @@
 		char *tempvariable;
 		tempvariable = switch_channel_get_variable(channel,tempstring);
 		
+		
+		std::pair<std::string,std::string> temppair;
+		temppair.first = *iItr;
+			
 		if(tempvariable != 0)
-		{
-			std::pair<std::string,std::string> temppair;
-			temppair.first = *iItr;
 			temppair.second = tempvariable;
-			chanvars_fixed.push_back(temppair);
-		}
+		
+		chanvars_fixed.push_back(temppair);
 	}	
 }
 

Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.h
==============================================================================
--- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.h	(original)
+++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/basecdr.h	Tue Jul 11 20:12:18 2006
@@ -67,7 +67,7 @@
 		virtual void reread_tempdumped_records() = 0;
 	protected:
 		void parse_channel_variables_xconfig(std::string& unparsed,std::list<std::string>& chanvarslist,bool fixed);
-		void parse_channel_variables_xconfig(std::string& unparsed,std::list<std::string>& chanvarslist,std::vector<switch_mod_cdr_sql_types>& chanvars_fixed_types);  // Typically used for SQL types
+		void parse_channel_variables_xconfig(std::string& unparsed,std::list<std::string>& chanvarslist,std::vector<switch_mod_cdr_sql_types_t>& chanvars_fixed_types);  // Typically used for SQL types
 		void process_channel_variables(const std::list<std::string>& stringlist,const std::list<std::string>& fixedlist,switch_channel_t *channel,bool repeat = 1); //This is used for supplemental chanvars
 		void process_channel_variables(const std::list<std::string>& stringlist,switch_channel_t *channel); // This is used for fixed chanvars
 		switch_time_t callstartdate;

Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/csvcdr.cpp
==============================================================================
--- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/csvcdr.cpp	(original)
+++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/csvcdr.cpp	Tue Jul 11 20:12:18 2006
@@ -190,7 +190,7 @@
 	switch_strftime(formatteddate,&retsize,100,format,&now_converted);
 		
 	std::string filename = outputfile_path;
-	filename.append("/");
+	filename.append(SWITCH_PATH_SEPARATOR);
 	filename.append(formatteddate);
 	filename.append(".csv");
 	outputfile.clear();
@@ -208,50 +208,48 @@
 {
 	check_file_size_and_open();
 	bool retval = 0;
-	if(active)
+	
+	// Format the call record and proceed from here...
+	outputfile << "\"" << callstartdate << "\",\"";
+	outputfile << callanswerdate << "\",\"";
+	outputfile << callenddate << "\",\"";
+	outputfile << hangupcause_text << "\",\"";
+	outputfile << hangupcause << "\",\"";
+	outputfile << clid << "\",\"";
+	outputfile << originated << "\",\"";
+	outputfile << dialplan << "\",\"";
+	outputfile << myuuid << "\",\"";
+	outputfile << destuuid << "\",\"";
+	outputfile << src << "\",\"";
+	outputfile << dst << "\",\"";
+	outputfile << srcchannel << "\",\"";
+	outputfile << dstchannel << "\",\"";
+	outputfile << ani << "\",\"";
+	outputfile << ani2 << "\",\"";
+	outputfile << network_addr << "\",\"";
+	outputfile << lastapp << "\",\"";
+	outputfile << lastdata << "\",\"";
+	outputfile << billusec << "\",\"";
+	outputfile << disposition << "\",\"";
+	outputfile << amaflags << "\"";
+	
+	// Now to process chanvars, fixed ones first
+	if(chanvars_fixed.size() > 0 )
 	{
-		// Format the call record and proceed from here...
-		outputfile << "\"" << callstartdate << "\",\"";
-		outputfile << callanswerdate << "\",\"";
-		outputfile << callenddate << "\",\"";
-		outputfile << hangupcause_text << "\",\"";
-		outputfile << hangupcause << "\",\"";
-		outputfile << clid << "\",\"";
-		outputfile << originated << "\",\"";
-		outputfile << dialplan << "\",\"";
-		outputfile << myuuid << "\",\"";
-		outputfile << destuuid << "\",\"";
-		outputfile << src << "\",\"";
-		outputfile << dst << "\",\"";
-		outputfile << srcchannel << "\",\"";
-		outputfile << dstchannel << "\",\"";
-		outputfile << ani << "\",\"";
-		outputfile << ani2 << "\",\"";
-		outputfile << network_addr << "\",\"";
-		outputfile << lastapp << "\",\"";
-		outputfile << lastdata << "\",\"";
-		outputfile << billusec << "\",\"";
-		outputfile << disposition << "\",\"";
-		outputfile << amaflags << "\"";
+		std::list<std::pair<std::string,std::string> >::iterator iItr, iEnd;
+		for(iItr = chanvars_fixed.begin(), iEnd = chanvars_fixed.end(); iItr != iEnd; iItr++)
+			outputfile << ",\"" << iItr->second << "\"";
+	}
 		
-		// Now to process chanvars, fixed ones first
-		if(chanvars_fixed.size() > 0 )
-		{
-			std::list<std::pair<std::string,std::string> >::iterator iItr, iEnd;
-			for(iItr = chanvars_fixed.begin(), iEnd = chanvars_fixed.end(); iItr != iEnd; iItr++)
-				outputfile << ",\"" << iItr->second << "\"";
-		}
-		
-		if(chanvars_supp.size() > 0 )
-		{
-			std::map<std::string,std::string>::iterator iItr,iEnd;
-			for(iItr = chanvars_supp.begin(), iEnd = chanvars_supp.end() ; iItr != iEnd; iItr++)
-				outputfile << ",\"" << iItr->first << "=" << iItr->second << "\"";
-		}
-		outputfile << std::endl;
-		retval = 1;
+	if(chanvars_supp.size() > 0 )
+	{
+		std::map<std::string,std::string>::iterator iItr,iEnd;
+		for(iItr = chanvars_supp.begin(), iEnd = chanvars_supp.end() ; iItr != iEnd; iItr++)
+			outputfile << ",\"" << iItr->first << "=" << iItr->second << "\"";
 	}
-	
+	outputfile << std::endl;
+	retval = 1;
+		
 	return retval;
 }
 

Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp
==============================================================================
--- freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp	(original)
+++ freeswitch/branches/mishehu/src/mod/loggers/mod_cdr/mysqlcdr.cpp	Tue Jul 11 20:12:18 2006
@@ -249,7 +249,7 @@
         if(is_null)
                 temp_bind.is_null = (my_bool*)1;
 
-        temp_bind.buffer = &param;
+       	temp_bind.buffer = &param;
 
 	bindme.push_back(temp_bind);
 }
@@ -263,9 +263,9 @@
 	temp_bind.buffer_type = type;
 	if(is_null)
 		temp_bind.is_null = (my_bool*)1;
+	else
+		temp_bind.buffer = &param;
 	
-	temp_bind.buffer = &param;
-	
 	bindme.push_back(temp_bind);
 }
 
@@ -364,8 +364,10 @@
 					short* x = new short;
 					*x = 0;
 					bool is_null = 0;
+					std::cout << "CDR_TINY: " << iItr->second << " and its size is " << iItr->second.size() << " bytes." << std::endl << std::endl;
 					if(iItr->second.size() > 0)
 					{
+						std::cout << "Converting iItr->second to type short." << std::endl;
 						std::istringstream istring(iItr->second);
 						istring >> *x;
 					}

Modified: freeswitch/branches/mishehu/src/mod/loggers/mod_syslog/mod_syslog.c
==============================================================================
--- freeswitch/branches/mishehu/src/mod/loggers/mod_syslog/mod_syslog.c	(original)
+++ freeswitch/branches/mishehu/src/mod/loggers/mod_syslog/mod_syslog.c	Tue Jul 11 20:12:18 2006
@@ -106,12 +106,15 @@
 SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **interface, char *filename)
 {
 	*interface = &console_module_interface;
+	switch_status_t status;
 
-	switch_log_bind_logger(mod_syslog_logger, SWITCH_LOG_DEBUG);
+	if ((status=load_config()) != SWITCH_STATUS_SUCCESS) {
+		return status;
+	}
 
-	load_config();
-
 	openlog(globals.ident, LOG_PID, LOG_USER);
+
+	switch_log_bind_logger(mod_syslog_logger, SWITCH_LOG_DEBUG);
 	
 	return SWITCH_STATUS_SUCCESS;
 }
@@ -129,27 +132,28 @@
 	char *var, *val;
 	char *cf = "syslog.conf";
 
-	if (!switch_config_open_file(&cfg, cf)) {
+	memset(&globals, 0, sizeof(globals));
+
+	if (switch_config_open_file(&cfg, cf)) {
 		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "open of %s failed\n", cf);
-		return SWITCH_STATUS_TERM;
-	}
 
-	while (switch_config_next_pair(&cfg, &var, &val)) {
-		if (!strcasecmp(cfg.category, "settings")) {
-			if (!strcmp(var, "ident")) {
-				set_global_ident(val);
-			} else if (!strcmp(var, "facility")) {
-				set_global_facility(val);
-			} else if (!strcmp(var, "format")) {
-				set_global_format(val);
-			} else if (!strcmp(var, "level")) {
-				set_global_level(val);;
+		while (switch_config_next_pair(&cfg, &var, &val)) {
+			if (!strcasecmp(cfg.category, "settings")) {
+				if (!strcmp(var, "ident")) {
+					set_global_ident(val);
+				} else if (!strcmp(var, "facility")) {
+					set_global_facility(val);
+				} else if (!strcmp(var, "format")) {
+					set_global_format(val);
+				} else if (!strcmp(var, "level")) {
+					set_global_level(val);;
+				}
 			}
 		}
+
+		switch_config_close_file(&cfg);
 	}
 	
-	switch_config_close_file(&cfg);
-
 	if (switch_strlen_zero(globals.ident)) {
 		set_global_ident(DEFAULT_IDENT);
 	}

Modified: freeswitch/branches/mishehu/src/switch_core.c
==============================================================================
--- freeswitch/branches/mishehu/src/switch_core.c	(original)
+++ freeswitch/branches/mishehu/src/switch_core.c	Tue Jul 11 20:12:18 2006
@@ -2870,9 +2870,9 @@
 
 SWITCH_DECLARE(switch_status_t) switch_core_init(char *console, const char **err)
 {
+	switch_xml_t xml = NULL, cfg = NULL;
 	memset(&runtime, 0, sizeof(runtime));
 	runtime.session_limit = 1000;
-	switch_xml_t xml = NULL, cfg = NULL;
 
 	switch_core_set_globals();
 

Modified: freeswitch/branches/mishehu/src/switch_loadable_module.c
==============================================================================
--- freeswitch/branches/mishehu/src/switch_loadable_module.c	(original)
+++ freeswitch/branches/mishehu/src/switch_loadable_module.c	Tue Jul 11 20:12:18 2006
@@ -668,7 +668,7 @@
         name = prefs[x];
         if ((p = strchr(name, '@'))) {
             p++;
-            len = p-name;
+            len = (uint32_t)(p-name);
 
             if (len > sizeof(buf)) {
                 len = sizeof(buf);
@@ -683,7 +683,7 @@
 			for (imp = codec_interface->implementations; imp; imp = imp->next) {
 				if (!interval) {
 					array[i++] = imp;
-				} else if ((imp->microseconds_per_frame / 1000) == interval) {
+				} else if ((uint32_t)(imp->microseconds_per_frame / 1000) == interval) {
 					array[i++] = imp;
 				}
 			}



More information about the Freeswitch-svn mailing list