OSDN Git Service

bug fix.
authorvisor <visor@users.sourceforge.jp>
Mon, 30 Jan 2017 13:26:39 +0000 (22:26 +0900)
committervisor <visor@users.sourceforge.jp>
Mon, 30 Jan 2017 13:26:39 +0000 (22:26 +0900)
lib/motorvar.cc

index 4e881ef..157031d 100644 (file)
@@ -71,9 +71,10 @@ void  MotorVector::push (MNode* val) {
 
 MNode*  MotorVector::pop () {
     if (size () > 0) {
-       MNode*  ans = back () ();
+       MNodePtr  ans;
+       ans = back () ();
        pop_back ();
-       return ans;
+       return ans.release ();
     } else {
        return NULL;
     }
@@ -113,12 +114,13 @@ void  MotorVector::unshift (MNode* val) {
 MNode*  MotorVector::shift () {
     size_t  n = size ();
     if (n > 0) {
-       MNode*  ans = get (0);
+       MNodePtr  ans;
+       ans = get (0);
        for (size_t i = 1; i < n; ++ i) {
            put (i - 1, get (i));
        }
        pop ();
-       return ans;
+       return ans.release ();
     } else {
        return NULL;
     }