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