]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/cc1000/CC1000ActiveMessageP.nc
turn on safe compilation for some modules
[tinyos-2.x.git] / tos / chips / cc1000 / CC1000ActiveMessageP.nc
index 086f23a8a722fff90a417fc9ea63564f43791870..40ecaae9e17ca6c78efb61f64991ab7f0a5ad4e3 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 
-/*                                                                     tab:4
+/*
  * "Copyright (c) 2004-2005 The Regents of the University  of California.  
  * All rights reserved.
  *
@@ -35,7 +35,7 @@
  * @date June 19 2006
  */
 
-module CC1000ActiveMessageP {
+module CC1000ActiveMessageP @safe() {
   provides {
     interface AMSend[am_id_t id];
     interface Receive[am_id_t id];
@@ -51,8 +51,8 @@ module CC1000ActiveMessageP {
 }
 implementation {
 
-  cc1000_header_t* getHeader(message_t* amsg) {
-    return (cc1000_header_t*)(amsg->data - sizeof(cc1000_header_t));
+  cc1000_header_t* ONE getHeader(message_t* ONE amsg) {
+    return TCAST(cc1000_header_t* ONE, (uint8_t*)amsg + offsetof(message_t, data) - sizeof(cc1000_header_t));
   }
 
   cc1000_footer_t *getFooter(message_t *amsg) {
@@ -98,6 +98,7 @@ implementation {
         return signal Snoop.receive[call AMPacket.type(msg)](msg, payload, len);
       }
     }
+    return msg;
   }
   
   command am_addr_t AMPacket.address() {