Exemplo n.º 1
0
char16_t*
ToNewUnicode( const nsACString& aSource )
  {
    char16_t* result = AllocateStringCopy(aSource, (char16_t*)0);
    if (!result)
      return nullptr;

    nsACString::const_iterator fromBegin, fromEnd;
    LossyConvertEncoding8to16 converter(result);
    copy_string(aSource.BeginReading(fromBegin), aSource.EndReading(fromEnd), converter).write_terminator();
    return result;
  }
Exemplo n.º 2
0
char*
ToNewCString( const nsAString& aSource )
  {
    char* result = AllocateStringCopy(aSource, (char*)0);
    if (!result)
      return nsnull;

    nsAString::const_iterator fromBegin, fromEnd;
    LossyConvertEncoding16to8 converter(result);
    copy_string(aSource.BeginReading(fromBegin), aSource.EndReading(fromEnd), converter).write_terminator();
    return result;
  }
Exemplo n.º 3
0
char16_t*
ToNewUnicode( const nsAString& aSource )
  {
    // no conversion needed, just allocate a buffer of the correct length and copy into it

    char16_t* result = AllocateStringCopy(aSource, (char16_t*)0);
    if (!result)
      return nullptr;

    nsAString::const_iterator fromBegin, fromEnd;
    char16_t* toBegin = result;
    *copy_string(aSource.BeginReading(fromBegin), aSource.EndReading(fromEnd), toBegin) = char16_t(0);
    return result;
  }