From 4be5ad4bc2d5b24d7b043d1b17824746cfc82c0e Mon Sep 17 00:00:00 2001
From: "Silas S. Brown" <ssb22@cam.ac.uk>
Date: Mon, 7 Apr 2014 20:07:34 +0000
Subject: [PATCH] Update adjuster/annogen

git-svn-id: http://svn.code.sf.net/p/e-guidedog/code/ssb22/adjuster@1916 29193198-4895-4776-b068-10539e920549
---
 annogen.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/annogen.py b/annogen.py
index 174b107..cedde10 100755
--- a/annogen.py
+++ b/annogen.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-program_name = "Annotator Generator v0.563 (c) 2012-14 Silas S. Brown"
+program_name = "Annotator Generator v0.564 (c) 2012-14 Silas S. Brown"
 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -1292,7 +1292,7 @@ function readData() {
             case 52: return;
             case 60: {
               var nBytes = data.charCodeAt(dPtr++)+1;
-              var i = data.slice(dPtr,dPtr+nBytes).indexOf(input.charAt(p++));
+              var i = ((p>=input.length)?-1:data.slice(dPtr,dPtr+nBytes).indexOf(input.charAt(p++)));
               if (i==-1) i = nBytes;
               dPtr += (nBytes + i * addrLen);
               dPtr = readAddr(); break; }
@@ -1417,7 +1417,8 @@ class Annotator:
     elif d==52: return
     elif d==60:
       nBytes = ord(data[self.dPtr])+1 ; self.dPtr += 1
-      i = data[self.dPtr:self.dPtr+nBytes].find(self.inStr[self.p]) ; self.p += 1
+      if self.p>=len(self.inStr): i = -1
+      else: i = data[self.dPtr:self.dPtr+nBytes].find(self.inStr[self.p]) ; self.p += 1
       if i==-1: i = nBytes
       self.dPtr += (nBytes + i * self.addrLen)
       self.dPtr = self.readAddr()
-- 
GitLab