#include <boost/optional.hpp>

#include "move.hh"
#include "../../../src/contents.hh"

namespace vick {
namespace move {

boost::optional< std::shared_ptr<change> > mvsot(contents& contents, boost::optional<int>) {
    contents.waiting_for_desired = false;
    contents.x = 0;
    for(auto c : contents.cont[contents.y]) {
        if(c == ' ' || c == '\t') contents.x++;
        else break;
    }
    return boost::none;
}

}
}

#include <boost/optional.hpp>

#include "move.hh"
#include "../../../src/contents.hh"

namespace vick {
namespace move {

boost::optional< std::shared_ptr<change> > mvsot(contents& contents, boost::optional<int>) {
    contents.waiting_for_desired = false;
    contents.x = 0;
    for(auto x : contents.cont[contents.y]) {
        if(x == ' ' || x == '\t') contents.x++;
        else break;
    }
    return boost::none;
}

}
}

--- 
+++ 
@@ -9,8 +9,8 @@
 boost::optional< std::shared_ptr<change> > mvsot(contents& contents, boost::optional<int>) {
     contents.waiting_for_desired = false;
     contents.x = 0;
-    for(auto x : contents.cont[contents.y]) {
-        if(x == ' ' || x == '\t') contents.x++;
+    for(auto c : contents.cont[contents.y]) {
+        if(c == ' ' || c == '\t') contents.x++;
         else break;
     }
     return boost::none;
Use iterator var for character as `c` instead of confusing `x` (using `contents.x` as well)
