Commit bca9a29e authored by unknown's avatar unknown

Fix mysqltest to automatically replace \ with / also in

$MYSQLTEST_VARDIR, for usage of vardir=e:/var<nnn> on windows


client/mysqltest.c:
  Add auto replace for $MYSQLTEST_VARDIR
  Only add strings with strlen > to patterns array - avoids
  lot of strlen calls
parent 6ce5681b
...@@ -4138,8 +4138,9 @@ void init_win_path_patterns() ...@@ -4138,8 +4138,9 @@ void init_win_path_patterns()
/* List of string patterns to match in order to find paths */ /* List of string patterns to match in order to find paths */
const char* paths[] = { "$MYSQL_TEST_DIR", const char* paths[] = { "$MYSQL_TEST_DIR",
"$MYSQL_TMP_DIR", "$MYSQL_TMP_DIR",
"./test/", 0 }; "$MYSQLTEST_VARDIR",
int num_paths= 3; "./test/" };
int num_paths= sizeof(paths)/sizeof(char*),
int i; int i;
char* p; char* p;
...@@ -4159,6 +4160,13 @@ void init_win_path_patterns() ...@@ -4159,6 +4160,13 @@ void init_win_path_patterns()
else else
p= my_strdup(paths[i], MYF(MY_FAE)); p= my_strdup(paths[i], MYF(MY_FAE));
/* Don't insert zero length strings in patterns array */
if (strlen(p) == 0)
{
my_free(p, MYF(0));
continue;
}
if (insert_dynamic(&patterns, (gptr) &p)) if (insert_dynamic(&patterns, (gptr) &p))
die(NullS); die(NullS);
...@@ -4208,7 +4216,7 @@ void fix_win_paths(const char *val, int len) ...@@ -4208,7 +4216,7 @@ void fix_win_paths(const char *val, int len)
{ {
const char** pattern= dynamic_element(&patterns, i, const char**); const char** pattern= dynamic_element(&patterns, i, const char**);
DBUG_PRINT("info", ("pattern: %s", *pattern)); DBUG_PRINT("info", ("pattern: %s", *pattern));
if (strlen(*pattern) == 0) continue;
/* Search for the path in string */ /* Search for the path in string */
while ((p= strstr(val, *pattern))) while ((p= strstr(val, *pattern)))
{ {
......
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