internal virtual int ReadStringLength(byte[] src, int srcIndex, int max) { int len = 0; while (src[srcIndex + len] != 0x00) { if (len++ > max) { throw new RuntimeException("zero termination not found: " + this); } } return len; }