summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-08 00:59:00 +0200
committerManuel Traut <manut@mecka.net>2012-06-08 00:59:00 +0200
commit1a3ca3c5dbcb261658139110d51c3e2fb7b01146 (patch)
tree0441c57ed879ccd3dad5bde5a482599bce7e6369
parent97ce56cf5fa7d6f618eed4020dd7f98405740290 (diff)
manager: improve list duplication
to return to any get_list caller Signed-off-by: Manuel Traut <manut@mecka.net>
-rw-r--r--manager/bin/distrio_manager.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/manager/bin/distrio_manager.cpp b/manager/bin/distrio_manager.cpp
index a0ee476..bccee4f 100644
--- a/manager/bin/distrio_manager.cpp
+++ b/manager/bin/distrio_manager.cpp
@@ -29,26 +29,21 @@ Distrio_Manager_i::~Distrio_Manager_i (void)
::Distrio::Error * Distrio_Manager_i::digital (
::Distrio::Digital_list_out io_list)
{
- io_list = new ::Distrio::Digital_list ();
- io_list->length (digital_list.length ());
-
- for (unsigned int i = 0; i < digital_list.length (); i++)
- io_list[i] = digital_list[i];
-
+ io_list = new ::Distrio::Digital_list (digital_list);
return distrio_success ();
}
::Distrio::Error * Distrio_Manager_i::analog (
::Distrio::Analog_list_out io_list)
{
- io_list = &analog_list;
+ io_list = new ::Distrio::Analog_list (analog_list);
return distrio_success ();
}
::Distrio::Error * Distrio_Manager_i::device (
::Distrio::Device_list_out dev_list)
{
- dev_list = &device_list;
+ dev_list = new ::Distrio::Device_list (device_list);
return distrio_success ();
}