Small refactor in ada-lang.c:scan_discrim_bound
Factor out common arithmetic operations for clarity. gdb/ChangeLog: * ada-lang.c (scan_discrim_bound): Factor out arithmetic operations.
This commit is contained in:
parent
108d56a48b
commit
5da1a4d34e
|
@ -1,3 +1,8 @@
|
||||||
|
2015-09-10 Simon Marchi <simon.marchi@ericsson.com>
|
||||||
|
|
||||||
|
* ada-lang.c (scan_discrim_bound): Factor out arithmetic
|
||||||
|
operations.
|
||||||
|
|
||||||
2015-09-10 Simon Marchi <simon.marchi@ericsson.com>
|
2015-09-10 Simon Marchi <simon.marchi@ericsson.com>
|
||||||
|
|
||||||
* ada-lang.c (ada_search_struct_field): Constify parameters
|
* ada-lang.c (ada_search_struct_field): Constify parameters
|
||||||
|
|
|
@ -11432,24 +11432,29 @@ scan_discrim_bound (const char *str, int k, struct value *dval, LONGEST * px,
|
||||||
{
|
{
|
||||||
static char *bound_buffer = NULL;
|
static char *bound_buffer = NULL;
|
||||||
static size_t bound_buffer_len = 0;
|
static size_t bound_buffer_len = 0;
|
||||||
const char *pend, *bound;
|
const char *pstart, *pend, *bound;
|
||||||
struct value *bound_val;
|
struct value *bound_val;
|
||||||
|
|
||||||
if (dval == NULL || str == NULL || str[k] == '\0')
|
if (dval == NULL || str == NULL || str[k] == '\0')
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pend = strstr (str + k, "__");
|
pstart = str + k;
|
||||||
|
pend = strstr (pstart, "__");
|
||||||
if (pend == NULL)
|
if (pend == NULL)
|
||||||
{
|
{
|
||||||
bound = str + k;
|
bound = pstart;
|
||||||
k += strlen (bound);
|
k += strlen (bound);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GROW_VECT (bound_buffer, bound_buffer_len, pend - (str + k) + 1);
|
int len = pend - pstart;
|
||||||
|
|
||||||
|
/* Strip __ and beyond. */
|
||||||
|
GROW_VECT (bound_buffer, bound_buffer_len, len + 1);
|
||||||
|
strncpy (bound_buffer, pstart, len);
|
||||||
|
bound_buffer[len] = '\0';
|
||||||
|
|
||||||
bound = bound_buffer;
|
bound = bound_buffer;
|
||||||
strncpy (bound_buffer, str + k, pend - (str + k));
|
|
||||||
bound_buffer[pend - (str + k)] = '\0';
|
|
||||||
k = pend - str;
|
k = pend - str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue