On Tue, May 10, 2005 at 05:08:49PM +0200, Jens Rieks wrote: > On Monday 09 May 2005 07:53, Patrick R. Michaud wrote: > > The attached patch file adjusts C<is_cclass> to always return false > > for offsets beyond the end of the string, and updates > > t/op/string_cclass.t to test this. > Thanks, applied! > > find_cclass and find_not_cclass are in now.
This is *excellent*. However, now that I look at things, I'm wondering if a slight change to the specification would be in order -- in my original post I said that find_cclass and find_not_cclass would return -1 whenever they (didn't find | found) the character of interest -- perhaps it would be better for them to return the length of the string instead? This might make it easier to do things like: .local int pos .local string token $I0 = find_not_cclass .CCLASS_WORD, $S0, pos $I0 -= pos token = $S0 whereas if we return -1 on "not found", we have to do some funny checking for it (rather than getting a nice null string). Note that we can still easily check for the existence of the char... .local int pos .local string token $I2 = length $S0 $I0 = find_not_cclass .CCLASS_WORD, $S0, pos if $I0 == $I2 goto end_of_string_reached If you're in agreement, I'll create/submit a patch and update the test files. Best to decide this now before too many people start using it. :-) Pm