From d365bb7cf52f2ae6961ffc2e3d495dae58885622 Mon Sep 17 00:00:00 2001 From: darkeye Date: Thu, 9 Nov 2000 06:44:21 +0000 Subject: [PATCH] added strEq and strToL functions --- darkice/trunk/src/Util.cpp | 53 ++++++++++++++++++++++++++++++++++++++ darkice/trunk/src/Util.h | 17 ++++++++++-- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/darkice/trunk/src/Util.cpp b/darkice/trunk/src/Util.cpp index 80f6f67..6e623bb 100644 --- a/darkice/trunk/src/Util.cpp +++ b/darkice/trunk/src/Util.cpp @@ -44,6 +44,18 @@ #error need string.h #endif +#ifdef HAVE_STDLIB_H +#include +#else +#error need stdlib.h +#endif + +#ifdef HAVE_LIMITS_H +#include +#else +#error need limits.h +#endif + #include "Util.h" @@ -86,12 +98,53 @@ Util :: strDup( const char * str ) throw ( Exception ) } +/*------------------------------------------------------------------------------ + * Check wether two strings are equal + *----------------------------------------------------------------------------*/ +bool +Util :: strEq( const char * str1, + const char * str2 ) throw ( Exception ) +{ + if ( !str1 || !str2 ) { + throw Exception( __FILE__, __LINE__, "no str1 or no str2"); + } + + return !strcmp( str1, str2); +} + + +/*------------------------------------------------------------------------------ + * Convert a string to a long integer + *----------------------------------------------------------------------------*/ +long int +Util :: strToL( const char * str, + int base ) throw ( Exception ) +{ + long int val; + char * s; + + if ( !str ) { + throw Exception( __FILE__, __LINE__, "no str"); + } + + val = strtol( str, &s, base); + if ( s == str || val == LONG_MIN || val == LONG_MAX ) { + throw Exception( __FILE__, __LINE__, "number conversion error"); + } + + return val; +} + + /*------------------------------------------------------------------------------ $Source$ $Log$ + Revision 1.3 2000/11/09 06:44:21 darkeye + added strEq and strToL functions + Revision 1.2 2000/11/05 14:08:28 darkeye changed builting to an automake / autoconf environment diff --git a/darkice/trunk/src/Util.h b/darkice/trunk/src/Util.h index 11229bb..db3ecf7 100644 --- a/darkice/trunk/src/Util.h +++ b/darkice/trunk/src/Util.h @@ -95,6 +95,16 @@ class Util static char * strDup( const char * str ) throw ( Exception ); + + + static bool + strEq( const char * str1, + const char * str2 ) throw ( Exception ); + + + static long int + strToL( const char * str, + int base = 10 ) throw ( Exception ); }; @@ -113,8 +123,11 @@ class Util $Source$ $Log$ - Revision 1.1 2000/11/05 10:05:55 darkeye - Initial revision + Revision 1.2 2000/11/09 06:44:21 darkeye + added strEq and strToL functions + + Revision 1.1.1.1 2000/11/05 10:05:55 darkeye + initial version ------------------------------------------------------------------------------*/