};
}
ParseVP(char *part, VersionPart &result){  char *dot = strchr(part, '.');  if (dot)    *dot = '\0';  result.numA = strtol(part, NS_CONST_CAST(char**, &result.strB), 10);  if (!*result.strB) {    result.strB = nsnull;    result.strBlen = 0;    result.numC = 0;    result.extraD = nsnull;  }  else {    if (result.strB[0] == '+') {      static const char kPre[] = "pre";      ++result.numA;      result.strB = kPre;      result.strBlen = sizeof(kPre) - 1;    }    else {      char *numstart = strpbrk(result.strB, "0123456789+-");      if (!numstart) {	result.strBlen = strlen(result.strB);	result.numC = 0;	result.extraD = nsnull;      }      else {	result.strBlen = numstart - result.strB;	result.numC = strtol(numstart, &result.extraD, 10);	if (!*result.extraD)	  result.extraD = nsnull;      }    }  }  if (dot) {    ++dot;    if (!*dot)      dot = nsnull;  }  return dot;};