+2002-01-27 Akim Demaille <akim@epita.fr>
+
+ 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.
+
2002-01-27 Akim Demaille <akim@epita.fr>
* tests/sets.at (AT_EXTRACT_SETS): New.
errs_dup (errs *src)
{
errs *res = errs_new (src->nerrs);
- memcpy (res->errs, src->errs, src->nerrs);
+ memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
return res;
}
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 '>'
])