X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=lib%2Fmotorvar.cc;fp=lib%2Fmotorvar.cc;h=157031d0a74b8ea5a896c83795cf9d002843b003;hb=da8d26dd80530150db1d4663e964fea0a054626d;hp=4e881efac3610eaee867b09f13760866a7654fa2;hpb=2e7dce06a7136647d7ac3e012f15c30e6e6cf96a;p=hmh%2Fhhml.git diff --git a/lib/motorvar.cc b/lib/motorvar.cc index 4e881ef..157031d 100644 --- a/lib/motorvar.cc +++ b/lib/motorvar.cc @@ -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; }