added comments and made some changes suggested by reviewers; still not in the build

This commit is contained in:
scc%mozilla.org 2000-08-05 04:25:49 +00:00
Родитель 0bade04ba3
Коммит 8bf207c3fb
6 изменённых файлов: 216 добавлений и 21 удалений

Просмотреть файл

@ -28,12 +28,64 @@
#include "nsAReadableString.h" #include "nsAReadableString.h"
char* ToNewCString( const nsAReadableString& );
char* ToNewCString( const nsAReadableCString& );
PRUnichar* ToNewUnicode( const nsAReadableString& ); /**
PRUnichar* ToNewUnicode( const nsAReadableCString& ); * Returns a new |char| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* Performs a lossy encoding conversion by chopping 16-bit wide characters down to 8-bits wide while copying |aSource| to your new buffer.
* This conversion is not well defined; but it reproduces legacy string behavior.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource a 16-bit wide string
* @return a new |char| buffer you must free with |nsMemory::Free|.
*/
char* ToNewCString( const nsAReadableString& aSource );
PRBool IsASCII( const nsAReadableString& );
/**
* Returns a new |char| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource an 8-bit wide string
* @return a new |char| buffer you must free with |nsMemory::Free|.
*/
char* ToNewCString( const nsAReadableCString& aSource );
/**
* Returns a new |PRUnichar| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource a 16-bit wide string
* @return a new |PRUnichar| buffer you must free with |nsMemory::Free|.
*/
PRUnichar* ToNewUnicode( const nsAReadableString& aSource );
/**
* Returns a new |PRUnichar| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* Performs an encoding conversion by 0-padding 8-bit wide characters up to 16-bits wide while copying |aSource| to your new buffer.
* This conversion is not well defined; but it reproduces legacy string behavior.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource an 8-bit wide string
* @return a new |PRUnichar| buffer you must free with |nsMemory::Free|.
*/
PRUnichar* ToNewUnicode( const nsAReadableCString& aSource );
/**
* Returns |PR_TRUE| if |aString| contains only ASCII characters, that is, characters in the range (0x00, 0x7F).
*
* @param aString a 16-bit wide string to scan
*/
PRBool IsASCII( const nsAReadableString& aString );
#endif // !defined(nsReadableUtils_h___) #endif // !defined(nsReadableUtils_h___)

Просмотреть файл

@ -28,6 +28,11 @@
/**
* A character sink that performs a |reinterpret_cast| style conversion between character types.
*/
template <class FromCharT, class ToCharT> template <class FromCharT, class ToCharT>
class LossyConvertEncoding class LossyConvertEncoding
{ {
@ -59,6 +64,15 @@ class LossyConvertEncoding
output_type* mDestination; output_type* mDestination;
}; };
/**
* A helper function that allocates a buffer of the desired character type big enough to hold a copy of the supplied string (plus a zero terminator).
*
* @param aSource an string you will eventually be making a copy of
* @return a new buffer (of the type specified by the second parameter) which you must free with |nsMemory::Free|.
*
*/
template <class FromCharT, class ToCharT> template <class FromCharT, class ToCharT>
inline inline
ToCharT* ToCharT*
@ -107,8 +121,7 @@ ToNewUnicode( const nsAReadableCString& aSource )
PRBool PRBool
IsASCII( const nsAReadableString& aString ) IsASCII( const nsAReadableString& aString )
{ {
static const PRUnichar NOT_ASCII = PRUnichar(~0x007F);
const PRUnichar NOT_ASCII = PRUnichar(~0x007F);
// Don't want to use |copy_string| for this task, since we can stop at the first non-ASCII character // Don't want to use |copy_string| for this task, since we can stop at the first non-ASCII character

Просмотреть файл

@ -28,6 +28,11 @@
/**
* A character sink that performs a |reinterpret_cast| style conversion between character types.
*/
template <class FromCharT, class ToCharT> template <class FromCharT, class ToCharT>
class LossyConvertEncoding class LossyConvertEncoding
{ {
@ -59,6 +64,15 @@ class LossyConvertEncoding
output_type* mDestination; output_type* mDestination;
}; };
/**
* A helper function that allocates a buffer of the desired character type big enough to hold a copy of the supplied string (plus a zero terminator).
*
* @param aSource an string you will eventually be making a copy of
* @return a new buffer (of the type specified by the second parameter) which you must free with |nsMemory::Free|.
*
*/
template <class FromCharT, class ToCharT> template <class FromCharT, class ToCharT>
inline inline
ToCharT* ToCharT*
@ -107,8 +121,7 @@ ToNewUnicode( const nsAReadableCString& aSource )
PRBool PRBool
IsASCII( const nsAReadableString& aString ) IsASCII( const nsAReadableString& aString )
{ {
static const PRUnichar NOT_ASCII = PRUnichar(~0x007F);
const PRUnichar NOT_ASCII = PRUnichar(~0x007F);
// Don't want to use |copy_string| for this task, since we can stop at the first non-ASCII character // Don't want to use |copy_string| for this task, since we can stop at the first non-ASCII character

Просмотреть файл

@ -28,12 +28,64 @@
#include "nsAReadableString.h" #include "nsAReadableString.h"
char* ToNewCString( const nsAReadableString& );
char* ToNewCString( const nsAReadableCString& );
PRUnichar* ToNewUnicode( const nsAReadableString& ); /**
PRUnichar* ToNewUnicode( const nsAReadableCString& ); * Returns a new |char| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* Performs a lossy encoding conversion by chopping 16-bit wide characters down to 8-bits wide while copying |aSource| to your new buffer.
* This conversion is not well defined; but it reproduces legacy string behavior.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource a 16-bit wide string
* @return a new |char| buffer you must free with |nsMemory::Free|.
*/
char* ToNewCString( const nsAReadableString& aSource );
PRBool IsASCII( const nsAReadableString& );
/**
* Returns a new |char| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource an 8-bit wide string
* @return a new |char| buffer you must free with |nsMemory::Free|.
*/
char* ToNewCString( const nsAReadableCString& aSource );
/**
* Returns a new |PRUnichar| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource a 16-bit wide string
* @return a new |PRUnichar| buffer you must free with |nsMemory::Free|.
*/
PRUnichar* ToNewUnicode( const nsAReadableString& aSource );
/**
* Returns a new |PRUnichar| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* Performs an encoding conversion by 0-padding 8-bit wide characters up to 16-bits wide while copying |aSource| to your new buffer.
* This conversion is not well defined; but it reproduces legacy string behavior.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource an 8-bit wide string
* @return a new |PRUnichar| buffer you must free with |nsMemory::Free|.
*/
PRUnichar* ToNewUnicode( const nsAReadableCString& aSource );
/**
* Returns |PR_TRUE| if |aString| contains only ASCII characters, that is, characters in the range (0x00, 0x7F).
*
* @param aString a 16-bit wide string to scan
*/
PRBool IsASCII( const nsAReadableString& aString );
#endif // !defined(nsReadableUtils_h___) #endif // !defined(nsReadableUtils_h___)

Просмотреть файл

@ -28,12 +28,64 @@
#include "nsAReadableString.h" #include "nsAReadableString.h"
char* ToNewCString( const nsAReadableString& );
char* ToNewCString( const nsAReadableCString& );
PRUnichar* ToNewUnicode( const nsAReadableString& ); /**
PRUnichar* ToNewUnicode( const nsAReadableCString& ); * Returns a new |char| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* Performs a lossy encoding conversion by chopping 16-bit wide characters down to 8-bits wide while copying |aSource| to your new buffer.
* This conversion is not well defined; but it reproduces legacy string behavior.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource a 16-bit wide string
* @return a new |char| buffer you must free with |nsMemory::Free|.
*/
char* ToNewCString( const nsAReadableString& aSource );
PRBool IsASCII( const nsAReadableString& );
/**
* Returns a new |char| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource an 8-bit wide string
* @return a new |char| buffer you must free with |nsMemory::Free|.
*/
char* ToNewCString( const nsAReadableCString& aSource );
/**
* Returns a new |PRUnichar| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource a 16-bit wide string
* @return a new |PRUnichar| buffer you must free with |nsMemory::Free|.
*/
PRUnichar* ToNewUnicode( const nsAReadableString& aSource );
/**
* Returns a new |PRUnichar| buffer containing a zero-terminated copy of |aSource|.
*
* Allocates and returns a new |char| buffer which you must free with |nsMemory::Free|.
* Performs an encoding conversion by 0-padding 8-bit wide characters up to 16-bits wide while copying |aSource| to your new buffer.
* This conversion is not well defined; but it reproduces legacy string behavior.
* The new buffer is zero-terminated, but that may not help you if |aSource| contains embedded nulls.
*
* @param aSource an 8-bit wide string
* @return a new |PRUnichar| buffer you must free with |nsMemory::Free|.
*/
PRUnichar* ToNewUnicode( const nsAReadableCString& aSource );
/**
* Returns |PR_TRUE| if |aString| contains only ASCII characters, that is, characters in the range (0x00, 0x7F).
*
* @param aString a 16-bit wide string to scan
*/
PRBool IsASCII( const nsAReadableString& aString );
#endif // !defined(nsReadableUtils_h___) #endif // !defined(nsReadableUtils_h___)

Просмотреть файл

@ -28,6 +28,11 @@
/**
* A character sink that performs a |reinterpret_cast| style conversion between character types.
*/
template <class FromCharT, class ToCharT> template <class FromCharT, class ToCharT>
class LossyConvertEncoding class LossyConvertEncoding
{ {
@ -59,6 +64,15 @@ class LossyConvertEncoding
output_type* mDestination; output_type* mDestination;
}; };
/**
* A helper function that allocates a buffer of the desired character type big enough to hold a copy of the supplied string (plus a zero terminator).
*
* @param aSource an string you will eventually be making a copy of
* @return a new buffer (of the type specified by the second parameter) which you must free with |nsMemory::Free|.
*
*/
template <class FromCharT, class ToCharT> template <class FromCharT, class ToCharT>
inline inline
ToCharT* ToCharT*
@ -107,8 +121,7 @@ ToNewUnicode( const nsAReadableCString& aSource )
PRBool PRBool
IsASCII( const nsAReadableString& aString ) IsASCII( const nsAReadableString& aString )
{ {
static const PRUnichar NOT_ASCII = PRUnichar(~0x007F);
const PRUnichar NOT_ASCII = PRUnichar(~0x007F);
// Don't want to use |copy_string| for this task, since we can stop at the first non-ASCII character // Don't want to use |copy_string| for this task, since we can stop at the first non-ASCII character