Fix `%nonassoc and eof'.

* src/state.c (errs_dup): Aaaah!  The failure was due to bytes
which were not properly copied!  Replace
memcpy (res->errs, src->errs, src->nerrs);
with
memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
!!!
* tests/regression.at (%nonassoc and eof): Adjust to newest
Autotest: `.' is not in the PATH.
This commit is contained in:
Akim Demaille
2002-01-27 13:57:17 +00:00
parent 318b76e913
commit 82841af7d0
4 changed files with 21 additions and 8 deletions

View File

@@ -75,20 +75,20 @@ main (int argc, const char *argv[])
AT_CHECK([bison input.y -o input.c])
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore])
AT_CHECK([input '0<0'])
AT_CHECK([./input '0<0'])
# FIXME: This is an actual bug, but a new one, in the sense that
# no one has ever spotted it! The messages are *wrong*: there should
# be nothing there, it should be expected eof.
AT_CHECK([input '0<0<0'], [1], [],
AT_CHECK([./input '0<0<0'], [1], [],
[parse error, unexpected '<', expecting '<' or '>'
])
AT_CHECK([input '0>0'])
AT_CHECK([input '0>0>0'], [1], [],
AT_CHECK([./input '0>0'])
AT_CHECK([./input '0>0>0'], [1], [],
[parse error, unexpected '>', expecting '<' or '>'
])
AT_CHECK([input '0<0>0'], [1], [],
AT_CHECK([./input '0<0>0'], [1], [],
[parse error, unexpected '>', expecting '<' or '>'
])