/* This function does not check for the existence of the file. */
CHAR8* OsPathPeerFilePath(IN CHAR8 *OldPath, IN CHAR8 *Peer)
/* This function does not check for the existence of the file. */
CHAR8* OsPathPeerFilePath(IN CHAR8 *OldPath, IN CHAR8 *Peer)
{
  CHAR8 *Result;
  INTN    Offset;
  Result = (CHAR8 *) malloc (strlen (OldPath) + strlen (Peer) + 1);
  if (Result == NULL) {
    return NULL;
  }
  strcpy (Result, OldPath);
  for (Offset = strlen (Result); Offset >= 0; Offset--) {
    if ((Result[Offset] == '/') || (Result[Offset] == '\\')) {
      Result[Offset + 1] = '\0';
      strcat (Result, Peer);
      return Result;
    }
  }
  strcpy (Result, Peer);
  return Result;
}