diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2001-11-09 18:05:30 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2001-11-09 18:05:30 +0000 |
commit | b165b83891be5218d0f7b4c9e773c5fb4b6d8e6e (patch) | |
tree | f92e396b5c3c4b22d275e3db9c9761261266ea6a /opcodes/cgen-asm.c | |
parent | * values.c (value_as_address): If VAL is a function or method, (diff) | |
download | binutils-gdb-b165b83891be5218d0f7b4c9e773c5fb4b6d8e6e.tar.gz binutils-gdb-b165b83891be5218d0f7b4c9e773c5fb4b6d8e6e.tar.bz2 binutils-gdb-b165b83891be5218d0f7b4c9e773c5fb4b6d8e6e.zip |
* cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
fit in the buffer, try to match the empty keyword.
Diffstat (limited to 'opcodes/cgen-asm.c')
-rw-r--r-- | opcodes/cgen-asm.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/opcodes/cgen-asm.c b/opcodes/cgen-asm.c index b664d7bc8bf..05b62bf49e1 100644 --- a/opcodes/cgen-asm.c +++ b/opcodes/cgen-asm.c @@ -229,10 +229,16 @@ cgen_parse_keyword (cd, strp, keyword_table, valuep) ++p; if (p - start >= (int) sizeof (buf)) - return _("unrecognized keyword/register name"); - - memcpy (buf, start, p - start); - buf[p - start] = 0; + { + /* All non-empty CGEN keywords can fit into BUF. The only thing + we can match here is the empty keyword. */ + buf[0] = 0; + } + else + { + memcpy (buf, start, p - start); + buf[p - start] = 0; + } ke = cgen_keyword_lookup_name (keyword_table, buf); |