1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

more refinement of IM patch to fix Windows pathnames with spaces

server-tools/instance-manager/instance_options.cc:
  move declaration of end to start of function so gcc is happy
server-tools/instance-manager/parse_output.cc:
  remove space before =
  use my_isspace to determine if *end is white space
  remove comments related to get_word which was removed
  replace tab character with appropriate # of spaces
This commit is contained in:
unknown
2005-11-02 06:51:44 -06:00
parent 69f80875a6
commit 5ce36e8134
2 changed files with 8 additions and 9 deletions

View File

@ -26,14 +26,14 @@
void trim_space(const char **text, uint *word_len)
{
const char* start = *text;
const char* start= *text;
while (*start != 0 && *start == ' ')
start++;
*text= start;
int len= strlen(start);
const char* end= start + len - 1;
while (end > start && (*end == ' ' || *end == '\r' || *end == '\n'))
while (end > start && my_isspace(&my_charset_latin1, *end))
end--;
*word_len= (end - start)+1;
}
@ -96,19 +96,17 @@ int parse_output_and_get_value(const char *command, const char *word,
linebuf[sizeof(linebuf) - 1]= '\0'; /* safety */
/*
Get the word, which might contain non-alphanumeric characters. (Usually
these are '/', '-' and '.' in the path expressions and filenames)
Compare the start of our line with the word(s) we are looking for.
*/
if (!strncmp(word, linep, wordlen))
{
/*
If we have found the word, return the next one (this is usually
an option value) or the whole line (if flag)
If we have found our word(s), then move linep past the word(s)
*/
linep+= wordlen; /* swallow the previous one */
linep+= wordlen;
if (flag & GET_VALUE)
{
trim_space((const char**) &linep, &found_word_len);
trim_space((const char**) &linep, &found_word_len);
if (input_buffer_len <= found_word_len)
goto err;
strmake(result, linep, found_word_len);