Tcl Library Source Code

Check-in [9690c98b93]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fixed bad assert, range was off-by-one.
Timelines: family | ancestors | descendants | both | pt-work
Files: files | file ages | folders
SHA1: 9690c98b9344da121264fa3d70c0e3947fb6a721
User & Date: aku 2014-06-26 23:25:45
Context
2014-06-26
23:27
Added lots of test cases going over characters special to PEG, Tcl, and C. Currently mainly failing due to bogus handling in the various generators. The layers of quoting need some sorting. check-in: 74769ab5c0 user: aku tags: pt-work
23:25
Fixed bad assert, range was off-by-one. check-in: 9690c98b93 user: aku tags: pt-work
23:25
testsuite support - make-parser - Trap PEG syntax errors and abort properly with readable message check-in: d5854af429 user: aku tags: pt-work
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to modules/pt/rde_critcl/param.c.

736
737
738
739
740
741
742




743
744
745
746
747
748
749
750
	 *
	 * FUTURE :: keep track of what location the data stored in CC is
	 * for. If the location is identical no extraction is required. This
	 * may help when a choice repeatedly tests the same character.
	 */

	rde_tc_get (p->TC, p->CL, &p->CC, &p->CC_len);




	ASSERT_BOUNDS (p->CC_len, TCL_UTF_MAX);

	p->ST = 1;
	ER_CLEAR (p);
	return;
    }

    if (!p->IN || 







>
>
>
>
|







736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
	 *
	 * FUTURE :: keep track of what location the data stored in CC is
	 * for. If the location is identical no extraction is required. This
	 * may help when a choice repeatedly tests the same character.
	 */

	rde_tc_get (p->TC, p->CL, &p->CC, &p->CC_len);

	/* Note: BOUNDS(n) <=> [0..(n-1)].
	 * cc_len in [1..utfmax] <=> cc_len-1 in [0...utfmax-1] <=> BOUNDS(utfmax)
	 */
	ASSERT_BOUNDS (p->CC_len-1, TCL_UTF_MAX);

	p->ST = 1;
	ER_CLEAR (p);
	return;
    }

    if (!p->IN ||