You are viewing a plain text version of this content. The canonical link for it is here.
Posted to regexp-dev@jakarta.apache.org by bu...@apache.org on 2001/08/01 23:25:06 UTC

[Bug 764] - java.lang.StackOverflowError

PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=764

*** shadow/764	Fri Jun 22 03:34:31 2001
--- shadow/764.tmp.27134	Wed Aug  1 14:25:06 2001
***************
*** 406,408 ****
--- 406,431 ----
  
  regards,
  Ahmed Shaikh
+ 
+ ------- Additional Comments From dvesposito@newnetco.com  2001-08-01 14:25 -------
+ I found a workaround for my particular situation ... When using the following 
+ logic:
+ 
+ //Match ASCII 32 through ASCII 127, plus ASCII 10 and ASCII 13
+ String DEFAULT_KEYBOARD_FILTER = "^[\\x20-\\x7F\\x0A\\x0D]*$";
+ RE regExp = new RE(DEFAULT_KEYBOARD_FILTER);
+ //if it DOESN'T match, then throw
+ if(!regExp.match(testVal))
+ 	throw new FieldValidationException(fieldNamePretty + " can not contain 
+ special characters.");
+ 
+ i would recive a StackOverflowError with a string of 2 or 3 kilobytes ... 
+ However, by using the inverse expression logic:
+ 
+ String DEFAULT_KEYBOARD_FILTER = "[^\\x20-\\x7F\\x0A\\x0D]";
+ //if it DOES match, then throw
+ if(regExp.match(testVal))
+ 	throw new FieldValidationException(fieldNamePretty + " can not contain 
+ special characters.");
+ 
+ everything went smoothly ... so ... that's my 2 cents .. :)
\ No newline at end of file