helper functions for comparing strarg_t "strings".

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15735 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2005-06-16 09:08:07 +00:00
parent 1d0e6ef7cc
commit 679f307f01
3 changed files with 28 additions and 6 deletions

View File

@ -2497,9 +2497,9 @@ int xv_test_ck( void * arg )
{
strarg_t * strarg = (strarg_t *)arg;
if ( strncmp( "use", strarg->str, 3 ) == 0 ||
strncmp( "set", strarg->str, 3 ) == 0 ||
strncmp( "cur", strarg->str, 3 ) == 0 )
if ( strargcmp( strarg, "use" ) == 0 ||
strargcmp( strarg, "set" ) == 0 ||
strargcmp( strarg, "cur" ) == 0 )
{
return 1;
}
@ -2511,9 +2511,9 @@ int xv_test_ckm( void * arg )
{
strarg_t * strarg = (strarg_t *)arg;
if ( strncmp( "bg", strarg->str, 2 ) == 0 ||
strncmp( "man", strarg->str, 3 ) == 0 ||
strncmp( "auto", strarg->str, 4 ) == 0 )
if ( strargcmp( strarg, "bg" ) == 0 ||
strargcmp( strarg, "man" ) == 0 ||
strargcmp( strarg, "auto" ) == 0 )
{
return 1;
}

View File

@ -292,3 +292,22 @@ int int_pos( int * i )
return 0;
}
/*** little helpers */
/** \brief compare the stings just as strcmp does */
int strargcmp(strarg_t *arg, char *str) {
int res = strncmp(arg->str, str, arg->len);
if (!res && arg->len != strlen(str))
res = arg->len - strlen(str);
return res;
}
/** \brief compare the stings just as strcasecmp does */
int strargcasecmp(strarg_t *arg, char *str) {
int res = strncasecmp(arg->str, str, arg->len);
if (!res && arg->len != strlen(str))
res = arg->len - strlen(str);
return res;
}

View File

@ -43,4 +43,7 @@ typedef struct strarg_s
int int_non_neg( int * i );
int int_pos( int * i );
int strargcmp(strarg_t *arg, char *str);
int strargcasecmp(strarg_t *arg, char *str);
#endif