Commit 795736fa authored by wax@kishkin.ru's avatar wax@kishkin.ru

WL#964

_stricmp was replaved on sting_compare_func
added breakes for windows
parent 8a73a86e
......@@ -90,10 +90,20 @@ static char slave_socket[FN_REFLEN]= "./var/tmp/slave.sock";
#endif
#define MAX_COUNT_TESTES 1024
#ifdef __WIN__
# define sting_compare_func _stricmp
#else
# ifdef HAVE_STRCASECMP
# define sting_compare_func strcasecmp
# else
# define sting_compare_func strcmp
# endif
#endif
/* comma delimited list of tests to skip or empty string */
#ifndef __WIN__
static char skip_test[FN_REFLEN]= " lowercase_table3 , system_mysql_db_fix ";
#define _stricmp strcasecmp
#else
/*
The most ignore testes contain the calls of system command
......@@ -1439,7 +1449,7 @@ void setup(char *file __attribute__((unused)))
*/
int compare( const void *arg1, const void *arg2 )
{
return _stricmp( * ( char** ) arg1, * ( char** ) arg2 );
return sting_compare_func( * ( char** ) arg1, * ( char** ) arg2 );
}
......@@ -1520,7 +1530,9 @@ int main(int argc, char **argv)
else
{
/* run all tests */
names= malloc(MAX_COUNT_TESTES*4);
names= malloc(MAX_COUNT_TESTES*sizeof(void*));
if (!names)
die("can not allcate memory for sorting");
testes= names;
name_index= 0;
#ifndef __WIN__
......@@ -1539,6 +1551,8 @@ int main(int argc, char **argv)
strcpy(test, strlwr(entry->d_name));
/* find the test suffix */
if ((position= strinstr(test, TEST_SUFFIX)) != 0)
{
if (name_index < MAX_COUNT_TESTES)
{
/* null terminate at the suffix */
*(test + position - 1)= '\0';
......@@ -1548,12 +1562,16 @@ int main(int argc, char **argv)
names++;
name_index++;
}
else
die("can not sort files, array is overloaded");
}
}
closedir(parent);
}
#else
{
struct _finddata_t dir;
intptr_t handle;
int* handle;
char test[FN_LEN];
char mask[FN_REFLEN];
char *p;
......@@ -1578,6 +1596,8 @@ int main(int argc, char **argv)
/* find the test suffix */
if ((position= strinstr(test, TEST_SUFFIX)) != 0)
{
if (name_index < MAX_COUNT_TESTES)
{
/* null terminate at the suffix */
*(test + position - 1)= '\0';
......@@ -1587,10 +1607,14 @@ int main(int argc, char **argv)
names++;
name_index++;
}
else
die("can not sort files, array is overloaded");
}
}
}while (_findnext(handle,&dir) == 0);
_findclose(handle);
}
#endif
qsort( (void *)testes, name_index, sizeof( char * ), compare );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment