| 1623 | |
| 1624 | |
| 1625 | static void swapItems(PyObject *list, int i, int j) { |
| 1626 | if (i != j) { |
| 1627 | PyObject *list_i = PyList_GetItem(list, i); |
| 1628 | PyObject *list_j = PyList_GetItem(list, j); |
| 1629 | Py_INCREF(list_i); |
| 1630 | Py_INCREF(list_j); |
| 1631 | PyList_SetItem(list, i, list_j); |
| 1632 | PyList_SetItem(list, j, list_i); |
| 1633 | } |
| 1634 | } |
| 1635 | |
| 1636 | static int invokeCallBack(PyObject *list, int index, JS::HandleValue leftValue, JSContext *cx, JS::HandleFunction callBack) { |
| 1637 | JS::Rooted<JS::ValueArray<2>> jArgs(cx); |