From 49327f43ca2196122a60314e67eeee929efea873 Mon Sep 17 00:00:00 2001 From: Stephen Torri Date: Fri, 28 Feb 2003 02:51:47 +0000 Subject: Xine assert() replacement: All assert() function calls, with exceptions of libdvdread and libdvdnav, have been replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its adding the ability to print out a stack trace at the point where the assertion fails. So here are a few examples. assert (0); This use of assert was found in a couple locations most favorably being the default case of a switch statement. This was the only thing there. So if the switch statement was unable to find a match it would have defaulted to this and the user and the developers would be stuck wonder who died and where. So it has been replaced with XINE_ASSERT(0, "We have reach this point and don't have a default case"); It may seem a bit none descriptive but there is more going on behind the scene. In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT prints out: :: - assertion '' failed. An example of this might be: input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h CVS patchset: 4301 CVS date: 2003/02/28 02:51:47 --- src/xine-engine/configfile.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'src/xine-engine/configfile.c') diff --git a/src/xine-engine/configfile.c b/src/xine-engine/configfile.c index 50892323a..433263d3c 100644 --- a/src/xine-engine/configfile.c +++ b/src/xine-engine/configfile.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: configfile.c,v 1.45 2003/02/02 12:33:23 hadess Exp $ + * $Id: configfile.c,v 1.46 2003/02/28 02:51:51 storri Exp $ * * config object (was: file) management - implementation * @@ -32,7 +32,6 @@ #include #include #include -#include #include "configfile.h" #include "xineutils.h" #include "xine_internal.h" @@ -214,8 +213,8 @@ static char *_xine_config_register_string (config_values_t *this, cfg_entry_t *entry; - assert (key); - assert (def_value); + XINE_ASSERT(key, "Register key is NULL. This is a required argument."); + XINE_ASSERT(def_value, "Default value is NULL. This is a required argument."); #ifdef LOG printf ("configfile: registering %s\n", key); @@ -279,8 +278,7 @@ static int _xine_config_register_num (config_values_t *this, void *cb_data) { cfg_entry_t *entry; - - assert (key); + XINE_ASSERT(key, "Register key is NULL. This is a required argument."); #ifdef LOG printf ("configfile: registering %s\n", key); @@ -338,8 +336,7 @@ static int _xine_config_register_bool (config_values_t *this, void *cb_data) { cfg_entry_t *entry; - - assert (key); + XINE_ASSERT(key, "Register key is NULL. This is a required argument."); #ifdef LOG printf ("configfile: registering %s\n", key); @@ -398,8 +395,7 @@ static int _xine_config_register_range (config_values_t *this, void *cb_data) { cfg_entry_t *entry; - - assert (key); + XINE_ASSERT(key, "Register key is NULL. This is a required argument."); #ifdef LOG printf ("configfile: registering range %s\n", key); @@ -490,9 +486,8 @@ static int _xine_config_register_enum (config_values_t *this, void *cb_data) { cfg_entry_t *entry; - - assert (key); - assert (values); + XINE_ASSERT(key, "Register key is NULL. This is a required argument."); + XINE_ASSERT(values, "Argument 'values' is NULL. This is a required argument."); #ifdef LOG printf ("configfile: registering enum %s\n", key); @@ -898,8 +893,8 @@ static void xine_config_unregister_cb (config_values_t *this, cfg_entry_t *entry; - assert (this); - assert (key); + XINE_ASSERT(key, "Register key is NULL. This is a required argument."); + XINE_ASSERT(this, "Argument 'this' is NULL. Cannot find key if this is not set."); entry = _xine_config_lookup_entry (this, key); if (entry) { -- cgit v1.2.3