[asterisk-commits] tilghman: branch tilghman/malloc_hold r205219 - in /team/tilghman/malloc_hold...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jul 8 11:56:30 CDT 2009


Author: tilghman
Date: Wed Jul  8 11:56:27 2009
New Revision: 205219

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=205219
Log:
More debug

Modified:
    team/tilghman/malloc_hold/include/asterisk/config.h
    team/tilghman/malloc_hold/main/config.c
    team/tilghman/malloc_hold/res/res_config_odbc.c
    team/tilghman/malloc_hold/res/res_config_pgsql.c

Modified: team/tilghman/malloc_hold/include/asterisk/config.h
URL: http://svn.asterisk.org/svn-view/asterisk/team/tilghman/malloc_hold/include/asterisk/config.h?view=diff&rev=205219&r1=205218&r2=205219
==============================================================================
--- team/tilghman/malloc_hold/include/asterisk/config.h (original)
+++ team/tilghman/malloc_hold/include/asterisk/config.h Wed Jul  8 11:56:27 2009
@@ -45,7 +45,11 @@
 	char stuff[0];
 };
 
+#ifdef MALLOC_DEBUG
+typedef struct ast_config *config_load_func(const char *database, const char *table, const char *configfile, struct ast_config *config, int withcomments, const char *who_asked);
+#else
 typedef struct ast_config *config_load_func(const char *database, const char *table, const char *configfile, struct ast_config *config, int withcomments);
+#endif
 typedef struct ast_variable *realtime_var_get(const char *database, const char *table, va_list ap);
 typedef struct ast_config *realtime_multi_get(const char *database, const char *table, va_list ap);
 typedef int realtime_update(const char *database, const char *table, const char *keyfield, const char *entity, va_list ap);
@@ -65,7 +69,12 @@
  *
  * Returns NULL on error, or an ast_config data structure on success
  */
+#ifdef MALLOC_DEBUG
+#define	ast_config_load(a)	ast_config_load2(a,__FILE__)
+struct ast_config *ast_config_load2(const char *filename, const char *who_asked);
+#else
 struct ast_config *ast_config_load(const char *filename);
+#endif
 struct ast_config *ast_config_load_with_comments(const char *filename);
 
 /*! \brief Destroys a config 
@@ -202,7 +211,11 @@
 
 int config_text_file_save(const char *filename, const struct ast_config *cfg, const char *generator);
 
+#ifdef MALLOC_DEBUG
+struct ast_config *ast_config_internal_load(const char *configfile, struct ast_config *cfg, int withcomments, const char *who_asked);
+#else
 struct ast_config *ast_config_internal_load(const char *configfile, struct ast_config *cfg, int withcomments);
+#endif
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }

Modified: team/tilghman/malloc_hold/main/config.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/tilghman/malloc_hold/main/config.c?view=diff&rev=205219&r1=205218&r2=205219
==============================================================================
--- team/tilghman/malloc_hold/main/config.c (original)
+++ team/tilghman/malloc_hold/main/config.c Wed Jul  8 11:56:27 2009
@@ -757,7 +757,11 @@
 				} else
 					exec_file[0] = '\0';
 				/* A #include */
+#ifdef MALLOC_DEBUG
+				do_include = ast_config_internal_load(cur, cfg, withcomments, "config.c") ? 1 : 0;
+#else
 				do_include = ast_config_internal_load(cur, cfg, withcomments) ? 1 : 0;
+#endif
 				if(!ast_strlen_zero(exec_file))
 					unlink(exec_file);
 				if (!do_include) {
@@ -829,7 +833,11 @@
 	return 0;
 }
 
+#ifdef MALLOC_DEBUG
+static struct ast_config *config_text_file_load(const char *database, const char *table, const char *filename, struct ast_config *cfg, int withcomments, const char *who_asked)
+#else
 static struct ast_config *config_text_file_load(const char *database, const char *table, const char *filename, struct ast_config *cfg, int withcomments)
+#endif
 {
 	char fn[256];
 #if defined(LOW_MEMORY)
@@ -981,7 +989,7 @@
 					char *buf = ast_strip(process_buf);
 					if (!ast_strlen_zero(buf)) {
 #ifdef MALLOC_DEBUG
-						if (process_text_line(cfg, &cat, buf, lineno, fn, withcomments, &comment_buffer, &comment_buffer_size, &lline_buffer, &lline_buffer_size, filename, lineno, table)) {
+						if (process_text_line(cfg, &cat, buf, lineno, fn, withcomments, &comment_buffer, &comment_buffer_size, &lline_buffer, &lline_buffer_size, filename, lineno, who_asked)) {
 #else
 						if (process_text_line(cfg, &cat, buf, lineno, fn, withcomments, &comment_buffer, &comment_buffer_size, &lline_buffer, &lline_buffer_size)) {
 #endif
@@ -1221,7 +1229,11 @@
 
 	configtmp = ast_config_new();
 	configtmp->max_include_level = 1;
+#ifdef MALLOC_DEBUG
+	config = ast_config_internal_load(extconfig_conf, configtmp, 0, "config.c");
+#else
 	config = ast_config_internal_load(extconfig_conf, configtmp, 0);
+#endif
 	if (!config) {
 		ast_config_destroy(configtmp);
 		return 0;
@@ -1360,7 +1372,11 @@
 	.load_func = config_text_file_load,
 };
 
+#ifdef MALLOC_DEBUG
+struct ast_config *ast_config_internal_load(const char *filename, struct ast_config *cfg, int withcomments, const char *who_asked)
+#else
 struct ast_config *ast_config_internal_load(const char *filename, struct ast_config *cfg, int withcomments)
+#endif
 {
 	char db[256];
 	char table[256];
@@ -1390,7 +1406,11 @@
 		}
 	}
 
+#ifdef MALLOC_DEBUG
+	result = loader->load_func(db, table, filename, cfg, withcomments, who_asked);
+#else
 	result = loader->load_func(db, table, filename, cfg, withcomments);
+#endif
 
 	if (result)
 		result->include_level--;
@@ -1400,7 +1420,11 @@
 	return result;
 }
 
+#ifdef MALLOC_DEBUG
+struct ast_config *ast_config_load2(const char *filename, const char *who_asked)
+#else
 struct ast_config *ast_config_load(const char *filename)
+#endif
 {
 	struct ast_config *cfg;
 	struct ast_config *result;
@@ -1409,7 +1433,11 @@
 	if (!cfg)
 		return NULL;
 
+#ifdef MALLOC_DEBUG
+	result = ast_config_internal_load(filename, cfg, 0, who_asked);
+#else
 	result = ast_config_internal_load(filename, cfg, 0);
+#endif
 	if (!result)
 		ast_config_destroy(cfg);
 
@@ -1425,7 +1453,11 @@
 	if (!cfg)
 		return NULL;
 
+#ifdef MALLOC_DEBUG
+	result = ast_config_internal_load(filename, cfg, 1, "config.c");
+#else
 	result = ast_config_internal_load(filename, cfg, 1);
+#endif
 	if (!result)
 		ast_config_destroy(cfg);
 

Modified: team/tilghman/malloc_hold/res/res_config_odbc.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/tilghman/malloc_hold/res/res_config_odbc.c?view=diff&rev=205219&r1=205218&r2=205219
==============================================================================
--- team/tilghman/malloc_hold/res/res_config_odbc.c (original)
+++ team/tilghman/malloc_hold/res/res_config_odbc.c Wed Jul  8 11:56:27 2009
@@ -450,7 +450,11 @@
 	return sth;
 }
 
+#ifdef MALLOC_DEBUG
+static struct ast_config *config_odbc(const char *database, const char *table, const char *file, struct ast_config *cfg, int withcomments, const char *who_asked)
+#else
 static struct ast_config *config_odbc(const char *database, const char *table, const char *file, struct ast_config *cfg, int withcomments)
+#endif
 {
 	struct ast_variable *new_v;
 	struct ast_category *cur_cat;
@@ -506,7 +510,11 @@
 
 	while ((res = SQLFetch(stmt)) != SQL_NO_DATA) {
 		if (!strcmp (q.var_name, "#include")) {
+#ifdef MALLOC_DEBUG
+			if (!ast_config_internal_load(q.var_val, cfg, 0, __FILE__)) {
+#else
 			if (!ast_config_internal_load(q.var_val, cfg, 0)) {
+#endif
 				SQLFreeHandle(SQL_HANDLE_STMT, stmt);
 				ast_odbc_release_obj(obj);
 				return NULL;

Modified: team/tilghman/malloc_hold/res/res_config_pgsql.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/tilghman/malloc_hold/res/res_config_pgsql.c?view=diff&rev=205219&r1=205218&r2=205219
==============================================================================
--- team/tilghman/malloc_hold/res/res_config_pgsql.c (original)
+++ team/tilghman/malloc_hold/res/res_config_pgsql.c Wed Jul  8 11:56:27 2009
@@ -490,7 +490,11 @@
 
 static struct ast_config *config_pgsql(const char *database, const char *table,
 					   const char *file, struct ast_config *cfg,
+#ifdef MALLOC_DEBUG
+					   int withcomments, const char *who_asked)
+#else
 					   int withcomments)
+#endif
 {
 	PGresult *result = NULL;
 	long num_rows;
@@ -556,7 +560,11 @@
 			char *field_var_val = PQgetvalue(result, rowIndex, 2);
 			char *field_cat_metric = PQgetvalue(result, rowIndex, 3);
 			if (!strcmp(field_var_name, "#include")) {
+#ifdef MALLOC_DEBUG
+				if (!ast_config_internal_load(field_var_val, cfg, 0, __FILE__)) {
+#else
 				if (!ast_config_internal_load(field_var_val, cfg, 0)) {
+#endif
 					PQclear(result);
 					ast_mutex_unlock(&pgsql_lock);
 					return NULL;




More information about the asterisk-commits mailing list