Fix GCC 10.0 -Wstringop-overflow
myrg_open(): Reduce the scope of the variable 'end' and simplify the code. For some reason, I got no warning for this code in the 10.2 branch, only 10.3 or later. The ENGINE=MERGE is covered by the tests main.merge, main.merge_debug, and main.merge-big.
This commit is contained in:
parent
d9d3c222ca
commit
ed21202a14
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2011, Oracle and/or its affiliates
|
Copyright (c) 2000, 2011, Oracle and/or its affiliates
|
||||||
|
Copyright (c) 2010, 2020, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -38,7 +39,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
int save_errno,errpos=0;
|
int save_errno,errpos=0;
|
||||||
uint files= 0, i, dir_length, length, UNINIT_VAR(key_parts), min_keys= 0;
|
uint files= 0, i, dir_length, length, UNINIT_VAR(key_parts), min_keys= 0;
|
||||||
ulonglong file_offset=0;
|
ulonglong file_offset=0;
|
||||||
char name_buff[FN_REFLEN*2],buff[FN_REFLEN],*end;
|
char name_buff[FN_REFLEN*2],buff[FN_REFLEN];
|
||||||
MYRG_INFO *m_info=0;
|
MYRG_INFO *m_info=0;
|
||||||
File fd;
|
File fd;
|
||||||
IO_CACHE file;
|
IO_CACHE file;
|
||||||
@ -62,8 +63,9 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
dir_length=dirname_part(name_buff, name, &name_buff_length);
|
dir_length=dirname_part(name_buff, name, &name_buff_length);
|
||||||
while ((length=my_b_gets(&file,buff,FN_REFLEN-1)))
|
while ((length=my_b_gets(&file,buff,FN_REFLEN-1)))
|
||||||
{
|
{
|
||||||
if ((end=buff+length)[-1] == '\n')
|
char *end= &buff[length - 1];
|
||||||
end[-1]='\0';
|
if (*end == '\n')
|
||||||
|
*end= '\0';
|
||||||
if (buff[0] && buff[0] != '#')
|
if (buff[0] && buff[0] != '#')
|
||||||
files++;
|
files++;
|
||||||
}
|
}
|
||||||
@ -71,8 +73,9 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
my_b_seek(&file, 0);
|
my_b_seek(&file, 0);
|
||||||
while ((length=my_b_gets(&file,buff,FN_REFLEN-1)))
|
while ((length=my_b_gets(&file,buff,FN_REFLEN-1)))
|
||||||
{
|
{
|
||||||
if ((end=buff+length)[-1] == '\n')
|
char *end= &buff[length - 1];
|
||||||
*--end='\0';
|
if (*end == '\n')
|
||||||
|
*end= '\0';
|
||||||
if (!buff[0])
|
if (!buff[0])
|
||||||
continue; /* Skip empty lines */
|
continue; /* Skip empty lines */
|
||||||
if (buff[0] == '#')
|
if (buff[0] == '#')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user