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/libmad/timer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/libmad/timer.c') diff --git a/src/libmad/timer.c b/src/libmad/timer.c index d2ad43aeb..47dbfca41 100755 --- a/src/libmad/timer.c +++ b/src/libmad/timer.c @@ -16,7 +16,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: timer.c,v 1.3 2002/05/02 16:00:48 jcdutton Exp $ + * $Id: timer.c,v 1.4 2003/02/28 02:51:50 storri Exp $ */ # ifdef HAVE_CONFIG_H @@ -28,9 +28,7 @@ # include # include /* For abort() */ -# ifdef HAVE_ASSERT_H -# include -# endif +# include "xineutils.h" # include "timer.h" @@ -125,7 +123,7 @@ void reduce_rational(unsigned long *numer, unsigned long *denom) factor = gcd(*numer, *denom); - assert(factor != 0); + XINE_ASSERT(factor != 0, "value 'factor' is equal to 0. This will result in a divide by zero error."); *numer /= factor; *denom /= factor; @@ -142,7 +140,7 @@ unsigned long scale_rational(unsigned long numer, unsigned long denom, reduce_rational(&numer, &denom); reduce_rational(&scale, &denom); - assert(denom != 0); + XINE_ASSERT(denom != 0, "value 'denom' is 0. This will result in a divide by zero error"); if (denom < scale) return numer * (scale / denom) + numer * (scale % denom) / denom; -- cgit v1.2.3