X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fchr%2FCharInput.java;h=15f128953d149f99617ac13d7c96efec390478b1;hb=6ff6d681e214e91ca3fa5afdff60a0fb88227404;hp=65b2b3ed5c5a3acc5fa55e7ea6c7348dfbbaeb31;hpb=2c05c84a714f54b3bc026f51416492ddb13f33b1;p=sbp.git diff --git a/src/edu/berkeley/sbp/chr/CharInput.java b/src/edu/berkeley/sbp/chr/CharInput.java index 65b2b3e..15f1289 100644 --- a/src/edu/berkeley/sbp/chr/CharInput.java +++ b/src/edu/berkeley/sbp/chr/CharInput.java @@ -48,13 +48,23 @@ public class CharInput extends Cartesian.Input { Cartesian.Region r = (Cartesian.Region)rc; int start = r.getStart().getScalar()+1; int end = r.getEnd().getScalar()+1; + if (start < 0) start = 0; + if (end < start) end = start; if (end > cache.length()) end = cache.length(); String ret; - if (end-start < 60) ret = cache.substring(start, end); - else ret = cache.substring(start, start+25) + + if (end-start < 60) ret = cachesubstring(start, end); + else ret = cachesubstring(start, start+25) + "..." + - cache.substring(end-25, end); + cachesubstring(end-25, end); return StringUtil.escapify(ret, "\n\r"); } + private String cachesubstring(int start, int end) { + if (start < 0) start = 0; + if (end < 0) end = 0; + if (start >= cache.length()) start = cache.length(); + if (end >= cache.length()) end = cache.length(); + return cache.substring(start, end); + } + }