This article covers features introduced in SpiderMonkey 1.8.5
Convert a JavaScript string to a C string.
Syntax
size_t JS_EncodeStringToBuffer(JSContext *cx, JSString *str, char *buffer, size_t length);
| Name | Type | Description | 
|---|---|---|
| cx | JSContext * | A context. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| str | JSString * | A string to encode. | 
| buffer | char * | A character buffer to receive encoded string. | 
| length | size_t | The size of bufferin bytes. | 
Description
JS_EncodeStringToBuffer converts the specified JavaScript str to a C string (an array of 8-bit chars) and fills the specified buffer with up to length bytes of the string. It returns the length of the whole string encoding or (size_t)-1 if the string can't be encoded as bytes. If the returned value is greater than the length you specified, the string was truncated.
To encode to UTF8, use JS::GetDeflatedUTF8StringLength and JS::DeflateStringToUTF8Buffer instead.