Fix Build-Depends in debian/control
[senf.git] / Packets / VariantParser.ct
index bae3139..63b46dc 100644 (file)
@@ -35,7 +35,7 @@ template <class AuxPolicy, class Parsers>
 template <unsigned N>
 prefix_ void senf::VariantParser<AuxPolicy,Parsers>::init()
 {
-    unsigned oldSize( bytes() );
+    size_type oldSize( bytes() );
     typedef typename boost::mpl::at<parsers, boost::mpl::int_<N> >::type NewParser;
 
     if (oldSize < senf::init_bytes<NewParser>::value) {
@@ -43,9 +43,10 @@ prefix_ void senf::VariantParser<AuxPolicy,Parsers>::init()
         std::advance(j, oldSize);
         std::fill(i(), j, 0u);
         safe_data_iterator safe_i (*this);
+        typename AuxPolicy::WrapperPolicy safeAux (static_cast<AuxPolicy&>(*this));
         data().insert(j, senf::init_bytes<NewParser>::value - oldSize, 0u);
-        AuxPolicy::aux(N, safe_i, state());
-        NewParser( AuxPolicy::adjust(safe_i, state()), state() ).init();
+        safeAux.aux(N, safe_i, state());
+        NewParser( safeAux.adjust(safe_i, state()), state() ).init();
     } else {
         data_iterator j (i());
         std::advance(j, senf::init_bytes<NewParser>::value);
@@ -59,7 +60,7 @@ prefix_ void senf::VariantParser<AuxPolicy,Parsers>::init()
 ///////////////////////////////ct.e////////////////////////////////////////
 #undef prefix_
 
-\f
+
 // Local Variables:
 // mode: c++
 // fill-column: 100