fix incorrect parsing of names for custom csr registers
this commit fixes a regression introduced in
ba8c1eef5a
.
The regression was caused by removal of these lines:
```
- /* Register prefix: "csr_" or "custom_" */
- strcpy(name, reg_type);
- name[strlen(reg_type)] = '_';
```
causing all CSR names with custom names to be parsed as empty strings.
This commit is contained in:
parent
eb1ecd7d10
commit
109646c09d
|
@ -4164,12 +4164,16 @@ static int parse_reg_ranges_impl(struct list_head *ranges, char *args,
|
|||
}
|
||||
|
||||
const char * const reg_name_in = equals + 1;
|
||||
*name_buffer = calloc(1, strlen(reg_name_in) + strlen(reg_type) + 2);
|
||||
const size_t reg_type_len = strlen(reg_type);
|
||||
/* format is: <reg_type>_<reg_name_in>\0 */
|
||||
*name_buffer = calloc(1, strlen(reg_name_in) + reg_type_len + 2);
|
||||
name = *name_buffer;
|
||||
if (!name) {
|
||||
LOG_ERROR("Out of memory");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
strcpy(name, reg_type);
|
||||
name[reg_type_len] = '_';
|
||||
|
||||
unsigned int scanned_chars;
|
||||
char *scan_dst = name + strlen(reg_type) + 1;
|
||||
|
|
Loading…
Reference in New Issue