if( PR_SUCCESS != nssUTF8_Size(value, &valuelen) ) {
valuelen = nssUTF8_Size(value, &status); if( PR_SUCCESS != status ) {
nssATAV_GetUTF8Encoding(  NSSATAV *atav,  NSSArena *arenaOpt){  NSSUTF8 *rv;  PRUint32 i;  const NSSUTF8 *alias = (NSSUTF8 *)NULL;  NSSUTF8 *oid;  NSSUTF8 *value;  PRUint32 oidlen;  PRUint32 valuelen;  PRUint32 totallen;#ifdef NSSDEBUG  if( PR_SUCCESS != nssATAV_verifyPointer(atav) ) {    return (NSSUTF8 *)NULL;  }#endif /* NSSDEBUG */  for( i = 0; i < nss_attribute_type_alias_count; i++ ) {    if( *(nss_attribute_type_aliases[i].oid) == atav->oid ) {      alias = nss_attribute_type_aliases[i].alias;      break;    }  }  if( (NSSUTF8 *)NULL == alias ) {    oid = nssOID_GetUTF8Encoding(atav->oid, (NSSArena *)NULL);    if( (NSSUTF8 *)NULL == oid ) {      return (NSSUTF8 *)NULL;    }    if( PR_SUCCESS != nssUTF8_Size(oid, &oidlen) ) {      (void)nss_ZFreeIf(oid);      return (NSSUTF8 *)NULL;    }  } else {    if( PR_SUCCESS != nssUTF8_Size(alias, &oidlen) ) {      return (NSSUTF8 *)NULL;    }    oid = (NSSUTF8 *)NULL;  }  value = nssATAV_GetValue(atav, (NSSArena *)NULL);  if( (NSSUTF8 *)NULL == value ) {    (void)nss_ZFreeIf(oid);    return (NSSUTF8 *)NULL;  }  if( PR_SUCCESS != nssUTF8_Size(value, &valuelen) ) {    (void)nss_ZFreeIf(value);    (void)nss_ZFreeIf(oid);    return (NSSUTF8 *)NULL;  }  totallen = oidlen + valuelen - 1 + 1;  rv = (NSSUTF8 *)nss_ZAlloc(arenaOpt, totallen);  if( (NSSUTF8 *)NULL == rv ) {    (void)nss_ZFreeIf(value);    (void)nss_ZFreeIf(oid);    return (NSSUTF8 *)NULL;  }  if( (NSSUTF8 *)NULL == alias ) {    if( (void *)NULL == nsslibc_memcpy(rv, oid, oidlen-1) ) {      (void)nss_ZFreeIf(rv);      (void)nss_ZFreeIf(value);      (void)nss_ZFreeIf(oid);      return (NSSUTF8 *)NULL;    }  } else {    if( (void *)NULL == nsslibc_memcpy(rv, alias, oidlen-1) ) {      (void)nss_ZFreeIf(rv);      (void)nss_ZFreeIf(value);      return (NSSUTF8 *)NULL;    }  }  rv[ oidlen-1 ] = '=';  if( (void *)NULL == nsslibc_memcpy(&rv[oidlen], value, valuelen) ) {    (void)nss_ZFreeIf(rv);    (void)nss_ZFreeIf(value);    (void)nss_ZFreeIf(oid);    return (NSSUTF8 *)NULL;  }  return rv;}