Commit 4da3106a authored by Roman Yurchak's avatar Roman Yurchak Committed by GitHub

Merge pull request #141 from mdboom/avoid-using-utf8tostring

Avoid using UTF8ToString
parents 063600d6 d29fa842
......@@ -67,6 +67,10 @@ EM_JS(int, hiwire_string_utf8, (int ptr), {
return Module.hiwire_new_value(UTF8ToString(ptr));
});
EM_JS(int, hiwire_string_ascii, (int ptr), {
return Module.hiwire_new_value(AsciiToString(ptr));
});
EM_JS(int, hiwire_bytes, (int ptr, int len), {
var bytes = new Uint8ClampedArray(Module.HEAPU8.buffer, ptr, len);
return Module.hiwire_new_value(bytes);
......
......@@ -86,6 +86,16 @@ hiwire_string_ucs1(int ptr, int len);
int
hiwire_string_utf8(int ptr);
/**
* Create a new Javascript string, given a pointer to a null-terminated buffer
* containing ascii (well, technically latin-1). The string data itself is
* copied.
*
* Returns: New reference
*/
int
hiwire_string_ascii(int ptr);
/**
* Create a new Javascript Uint8ClampedArray, given a pointer to a buffer and a
* length, in bytes.
......
......@@ -21,7 +21,7 @@ pythonexc2js()
int exc;
if (type == NULL || type == Py_None || value == NULL || value == Py_None) {
excval = hiwire_string_utf8((int)"No exception type or value");
excval = hiwire_string_ascii((int)"No exception type or value");
PyErr_Print();
PyErr_Clear();
goto exit;
......@@ -31,7 +31,7 @@ pythonexc2js()
if (tbmod == NULL) {
PyObject* repr = PyObject_Repr(value);
if (repr == NULL) {
excval = hiwire_string_utf8((int)"Could not get repr for exception");
excval = hiwire_string_ascii((int)"Could not get repr for exception");
} else {
excval = python2js(repr);
Py_DECREF(repr);
......@@ -46,7 +46,7 @@ pythonexc2js()
}
if (format_exception == NULL) {
excval =
hiwire_string_utf8((int)"Could not get format_exception function");
hiwire_string_ascii((int)"Could not get format_exception function");
} else {
PyObject* pylines;
if (no_traceback) {
......@@ -58,7 +58,7 @@ pythonexc2js()
}
if (pylines == NULL) {
excval =
hiwire_string_utf8((int)"Error calling traceback.format_exception");
hiwire_string_ascii((int)"Error calling traceback.format_exception");
PyErr_Print();
PyErr_Clear();
goto exit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment