aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2014-03-25 22:23:55 +1100
committerHuon Wilson <dbau.pp+github@gmail.com>2014-03-25 22:23:55 +1100
commit94e4ab3eafd24b88a9bdd7dce88c7fe084176668 (patch)
treea8c3a3b458690f8a85aafb3029b6d799db82195a /src/components/script/dom/bindings
parent3401a568f276c55f90ec050df605492b900f79ac (diff)
downloadservo-94e4ab3eafd24b88a9bdd7dce88c7fe084176668.tar.gz
servo-94e4ab3eafd24b88a9bdd7dce88c7fe084176668.zip
Remove some unnecessary transmutes.
These can either be done by implicit `&` -> `*` coercions, explicit `*` -> `*` casts, or an explicit `&*x` `*` -> `&` re-borrow (which is still unsafe, but significantly more controlled compared to a `transmute`).
Diffstat (limited to 'src/components/script/dom/bindings')
-rw-r--r--src/components/script/dom/bindings/proxyhandler.rs6
-rw-r--r--src/components/script/dom/bindings/utils.rs6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/components/script/dom/bindings/proxyhandler.rs b/src/components/script/dom/bindings/proxyhandler.rs
index 81c36d639ad..80320ec4cfb 100644
--- a/src/components/script/dom/bindings/proxyhandler.rs
+++ b/src/components/script/dom/bindings/proxyhandler.rs
@@ -74,7 +74,7 @@ pub fn _obj_toString(cx: *JSContext, className: *libc::c_char) -> *JSString {
unsafe {
let name = str::raw::from_c_str(className);
let nchars = "[object ]".len() + name.len();
- let chars: *mut jschar = cast::transmute(JS_malloc(cx, (nchars + 1) as libc::size_t * (size_of::<jschar>() as libc::size_t)));
+ let chars: *mut jschar = JS_malloc(cx, (nchars + 1) as libc::size_t * (size_of::<jschar>() as libc::size_t)) as *mut jschar;
if chars.is_null() {
return ptr::null();
}
@@ -84,9 +84,9 @@ pub fn _obj_toString(cx: *JSContext, className: *libc::c_char) -> *JSString {
*chars.offset(i as int) = c as jschar;
}
*chars.offset(nchars as int) = 0;
- let jsstr = JS_NewUCString(cx, cast::transmute(chars), nchars as libc::size_t);
+ let jsstr = JS_NewUCString(cx, chars as *jschar, nchars as libc::size_t);
if jsstr.is_null() {
- JS_free(cx, cast::transmute(chars));
+ JS_free(cx, chars as *libc::c_void);
}
jsstr
}
diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs
index bf11721fe97..37c62fd4c3c 100644
--- a/src/components/script/dom/bindings/utils.rs
+++ b/src/components/script/dom/bindings/utils.rs
@@ -91,12 +91,12 @@ pub unsafe fn get_dom_class(obj: *JSObject) -> Result<DOMClass, ()> {
let clasp = JS_GetClass(obj);
if is_dom_class(clasp) {
debug!("plain old dom object");
- let domjsclass: *DOMJSClass = cast::transmute(clasp);
+ let domjsclass: *DOMJSClass = clasp as *DOMJSClass;
return Ok((*domjsclass).dom_class);
}
if is_dom_proxy(obj) {
debug!("proxy dom object");
- let dom_class: *DOMClass = cast::transmute(GetProxyHandlerExtra(obj));
+ let dom_class: *DOMClass = GetProxyHandlerExtra(obj) as *DOMClass;
return Ok(*dom_class);
}
debug!("not a dom object");
@@ -233,7 +233,7 @@ pub struct DOMJSClass {
pub fn GetProtoOrIfaceArray(global: *JSObject) -> **JSObject {
unsafe {
/*assert ((*JS_GetClass(global)).flags & JSCLASS_DOM_GLOBAL) != 0;*/
- cast::transmute(JS_GetReservedSlot(global, DOM_PROTOTYPE_SLOT).to_private())
+ JS_GetReservedSlot(global, DOM_PROTOTYPE_SLOT).to_private() as **JSObject
}
}