Bug 779220. Add JS_InternStringN for callers that know the length of the string. r=luke

This mirrors the existing JS_InternUCStringN.
This commit is contained in:
Jeff Muizelaar 2012-07-31 12:26:14 -07:00
Родитель 9b61c937c8
Коммит 933e8b34d6
2 изменённых файлов: 10 добавлений и 1 удалений

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

@ -5955,10 +5955,16 @@ JS_InternJSString(JSContext *cx, JSString *str)
JS_PUBLIC_API(JSString *)
JS_InternString(JSContext *cx, const char *s)
{
return JS_InternStringN(cx, s, strlen(s));
}
JS_PUBLIC_API(JSString *)
JS_InternStringN(JSContext *cx, const char *s, size_t length)
{
AssertHeapIsIdle(cx);
CHECK_REQUEST(cx);
JSAtom *atom = js_Atomize(cx, s, strlen(s), InternAtom);
JSAtom *atom = js_Atomize(cx, s, length, InternAtom);
JS_ASSERT_IF(atom, JS_StringHasBeenInterned(cx, atom));
return atom;
}

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

@ -5265,6 +5265,9 @@ JS_NewStringCopyZ(JSContext *cx, const char *s);
extern JS_PUBLIC_API(JSString *)
JS_InternJSString(JSContext *cx, JSString *str);
extern JS_PUBLIC_API(JSString *)
JS_InternStringN(JSContext *cx, const char *s, size_t length);
extern JS_PUBLIC_API(JSString *)
JS_InternString(JSContext *cx, const char *s);