diff options
Diffstat (limited to 'source/blender/makesrna/intern/rna_access.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 70b4d4204df..deedf72600a 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -4978,21 +4978,16 @@ static char *rna_path_token(const char **path, char *fixedbuf, int fixedlen, int } } else { - bool escape = false; - /* Skip the first quote. */ - len++; - p++; - while (*p && (*p != '"' || escape)) { - /* A pair of back-slashes represents a single back-slash, - * only use a single back-slash for escaping. */ - escape = (escape == false) && (*p == '\\'); - len++; - p++; + const char *p_end = BLI_str_escape_find_quote(p + 1); + if (p_end == NULL) { + /* No Matching quote. */ + return NULL; } - /* Skip the last quoted char to get the `]`. */ - len++; - p++; + p_end += 1; + + len += (p_end - p); + p = p_end; } if (*p != ']') { |