30#define JSSTR_SHORT_STRING_LENGTH 8
35#define JSSTR_MAX_ROPE_DEPTH 100
102 if(left_len <= off) {
104 }
else if(left_len >=
len+off) {
147 if(
ret ||
len <= left_len)
157#define TMP_BUF_SIZE 256
164 unsigned cmp_off = 0, cmp_size;
168 while(cmp_off <
min(left_len, right_len)) {
169 cmp_size =
min(left_len, right_len) - cmp_off;
175 ret =
memcmp(left_buf, right_buf, cmp_size);
182 return left_len - right_len;
202 return ret || len1 == len2 ?
ret : -1;
208 return ret || len1 == len2 ? -
ret : 1;
229 unsigned depth, depth2;
const char * wine_dbg_sprintf(const char *format,...)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
GLint GLint GLsizei GLsizei GLsizei depth
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
static int ropes_cmp(jsstr_rope_t *left, jsstr_rope_t *right)
jsstr_t * jsstr_null_bstr(void)
static void jsstr_init(jsstr_t *str, unsigned len, jsstr_tag_t tag)
HRESULT jsstr_to_bstr(jsstr_t *str, BSTR *r)
static int jsstr_cmp_str(jsstr_t *jsstr, const WCHAR *str, unsigned len)
jsstr_t * jsstr_alloc_len(const WCHAR *buf, unsigned len)
static const WCHAR * jsstr_try_flat(jsstr_t *str)
jsstr_t * jsstr_nan(void)
const WCHAR * jsstr_rope_flatten(jsstr_rope_t *str)
#define JSSTR_SHORT_STRING_LENGTH
void jsstr_free(jsstr_t *str)
static jsstr_t * undefined_str
static jsstr_t * null_bstr_str
static void jsstr_rope_extract(jsstr_rope_t *str, unsigned off, unsigned len, WCHAR *buf)
static jsstr_t * empty_str
int jsstr_cmp(jsstr_t *str1, jsstr_t *str2)
jsstr_t * jsstr_undefined(void)
jsstr_t * jsstr_empty(void)
jsstr_t * jsstr_concat(jsstr_t *str1, jsstr_t *str2)
const char * debugstr_jsstr(jsstr_t *str)
void jsstr_extract(jsstr_t *str, unsigned off, unsigned len, WCHAR *buf)
#define JSSTR_MAX_ROPE_DEPTH
jsstr_t * jsstr_alloc_buf(unsigned len, WCHAR **buf)
static jsstr_t * jsstr_addref(jsstr_t *str)
static void jsstr_release(jsstr_t *str)
static jsstr_inline_t * jsstr_as_inline(jsstr_t *str)
static unsigned jsstr_length(jsstr_t *str)
#define JSSTR_LENGTH_SHIFT
static BOOL jsstr_is_rope(jsstr_t *str)
static jsstr_tag_t jsstr_tag(jsstr_t *str)
static jsstr_heap_t * jsstr_as_heap(jsstr_t *str)
static BOOL jsstr_is_heap(jsstr_t *str)
static unsigned jsstr_flush(jsstr_t *str, WCHAR *buf)
static jsstr_t * jsstr_alloc(const WCHAR *str)
static BOOL jsstr_is_inline(jsstr_t *str)
static jsstr_rope_t * jsstr_as_rope(jsstr_t *str)
#define memcpy(s1, s2, n)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
XML_HIDDEN void xmlParserErrors const char const xmlChar const xmlChar * str2
XML_HIDDEN void xmlParserErrors const char const xmlChar * str1
#define FIELD_OFFSET(t, f)