aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_orb_subscription.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-05-13 16:04:02 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-05-16 14:00:58 +0200
commitfbb3adde06e5ecf88a4c39e332a539fa12d173b3 (patch)
tree4871f0791f891ec2d9a5385579af61fe1fd1bec2 /src/modules/mavlink/mavlink_orb_subscription.cpp
parenta72015c260dbb4e70d23c35120269cef61a439cc (diff)
downloadpx4-firmware-fbb3adde06e5ecf88a4c39e332a539fa12d173b3.tar.gz
px4-firmware-fbb3adde06e5ecf88a4c39e332a539fa12d173b3.tar.bz2
px4-firmware-fbb3adde06e5ecf88a4c39e332a539fa12d173b3.zip
mavlink app: Clean up allocations
Diffstat (limited to 'src/modules/mavlink/mavlink_orb_subscription.cpp')
-rw-r--r--src/modules/mavlink/mavlink_orb_subscription.cpp19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/modules/mavlink/mavlink_orb_subscription.cpp b/src/modules/mavlink/mavlink_orb_subscription.cpp
index d432edd2b..0a23fb01e 100644
--- a/src/modules/mavlink/mavlink_orb_subscription.cpp
+++ b/src/modules/mavlink/mavlink_orb_subscription.cpp
@@ -53,30 +53,21 @@ MavlinkOrbSubscription::MavlinkOrbSubscription(const orb_id_t topic) :
_last_check(0),
next(nullptr)
{
- _data = malloc(topic->o_size);
- memset(_data, 0, topic->o_size);
}
MavlinkOrbSubscription::~MavlinkOrbSubscription()
{
close(_fd);
- free(_data);
}
-const orb_id_t
-MavlinkOrbSubscription::get_topic()
+orb_id_t
+MavlinkOrbSubscription::get_topic() const
{
return _topic;
}
-void *
-MavlinkOrbSubscription::get_data()
-{
- return _data;
-}
-
bool
-MavlinkOrbSubscription::update(const hrt_abstime t)
+MavlinkOrbSubscription::update(const hrt_abstime t, void* data)
{
if (_last_check == t) {
/* already checked right now, return result of the check */
@@ -86,8 +77,8 @@ MavlinkOrbSubscription::update(const hrt_abstime t)
_last_check = t;
orb_check(_fd, &_updated);
- if (_updated) {
- orb_copy(_topic, _fd, _data);
+ if (_updated && data) {
+ orb_copy(_topic, _fd, data);
_published = true;
return true;
}