Example #1
0
 /**
  * Read the version table for an MVD from a byte array
  *
  * @param data the byte array containing the version definitions
  * @param p the start offset of the versions within data
  * @param mvd an mvd to add the version definitions to
  */
 private static void readVersionTable(byte[] data, int p, MVD mvd) throws Exception {
   short nVersions = readShort(data, p);
   p += 2;
   if (nVersions < 0) throw new MVDException("Invalid number of versions: " + nVersions);
   short setSize = readShort(data, p);
   p += 2;
   mvd.setVersionSetSize(setSize);
   for (short i = 0; i < nVersions; i++) {
     short group = readShort(data, p);
     p += 2;
     short backup = readShort(data, p);
     p += 2;
     short len = readShort(data, p);
     String shortName = readUtf8String(data, p);
     p += 2 + len;
     len = readShort(data, p);
     String longName = readUtf8String(data, p);
     p += 2 + len;
     mvd.addVersion(new Version(group, backup, shortName, longName));
   }
 }