Ejemplo n.º 1
0
static bool test_mutation()
  {
    nsCStringContainer s;
    NS_CStringContainerInit(s);

    const char kText[] = "Every good boy does fine.";

    char *buf;
    uint32_t len = NS_CStringGetMutableData(s, sizeof(kText) - 1, &buf);
    if (!buf || len != sizeof(kText) - 1)
      return false;
    memcpy(buf, kText, sizeof(kText));

    const char *data;
    NS_CStringGetData(s, &data);
    if (strcmp(data, kText) != 0)
      return false;

    uint32_t newLen = len + 1;
    len = NS_CStringGetMutableData(s, newLen, &buf);
    if (!buf || len != newLen)
      return false;

    buf[len - 1] = '.';

    NS_CStringGetData(s, &data);
    if (strncmp(data, kText, len - 1) != 0 || data[len - 1] != '.')
      return false;

    NS_CStringContainerFinish(s);
    return true;
  }
nsACString::char_type*
nsACString::EndWriting()
{
  char_type *data;
  uint32_t len = NS_CStringGetMutableData(*this, PR_UINT32_MAX, &data);
  return data + len;
}
bool
nsACString::SetLength(uint32_t aLen)
{
  char_type *data;
  NS_CStringGetMutableData(*this, aLen, &data);
  return data != nullptr;
}
nsACString::char_type*
nsACString::BeginWriting(uint32_t aLen)
{
  char_type *data;
  NS_CStringGetMutableData(*this, aLen, &data);
  return data;
}
Ejemplo n.º 5
0
PRBool
nsACString::SetLength(PRUint32 aLen)
{
  char_type *data;
  NS_CStringGetMutableData(*this, aLen, &data);
  return data != nsnull;
}
uint32_t
nsACString::BeginWriting(char_type **begin, char_type **end, uint32_t newSize)
{
  uint32_t len = NS_CStringGetMutableData(*this, newSize, begin);
  if (end)
    *end = *begin + len;

  return len;
}
Ejemplo n.º 7
0
uint32_t
nsACString::BeginWriting(char_type** aBegin, char_type** aEnd,
                         uint32_t aNewSize)
{
  uint32_t len = NS_CStringGetMutableData(*this, aNewSize, aBegin);
  if (aEnd) {
    *aEnd = *aBegin + len;
  }

  return len;
}
uint32_t
ToUpperCase(const nsACString& aSrc, nsACString& aDest)
{
  const char *begin,  *end;
  uint32_t len = aSrc.BeginReading(&begin, &end);

  char *dest;
  NS_CStringGetMutableData(aDest, len, &dest);

  for (; begin < end; ++begin, ++dest) {
    *dest = NS_ToUpper(*begin);
  }

  return len;
}