Index: trunk/FACT++/src/Converter.cc
===================================================================
--- trunk/FACT++/src/Converter.cc	(revision 10286)
+++ trunk/FACT++/src/Converter.cc	(revision 10287)
@@ -342,10 +342,13 @@
 //!     Size of the data block
 //!
+//! @param chunk
+//!     Size of the size of hex chunks seperted by a ':' in bytes
+//!
 //! @returns
 //!     The string
 //!
-string Converter::GetHex(const void *dat, int size)
-{
-    const char *ptr = reinterpret_cast<const char *>(dat);
+string Converter::GetHex(const void *dat, size_t size, size_t chunk)
+{
+    const unsigned char *ptr = reinterpret_cast<const unsigned char *>(dat);
 
     ostringstream text;
@@ -353,9 +356,14 @@
     text << hex;
 
-    for (int i=0; i<size; i++)
-        text << setw(2) << ptr[i] << " ";
+    for (size_t i=0; i<size; i++)
+    {
+        text << setw(2) << setfill('0') << (unsigned int)ptr[i];
+        if ((i%chunk)==chunk-1)
+            text << ":";
+    }
 
     return text.str();
 }
+
 
 // --------------------------------------------------------------------------
@@ -493,14 +501,7 @@
 
     // If the format is empty we are already done
-    if (empty())
-    {
-        if (str.empty())
-        {
-            wout << endl;
-            return vector<T>();
-        }
-
+    if (empty() && str.empty())
+    {
         wout << endl;
-        wout << kRed << "Data string not empty as it ought to be!" << endl;
         return vector<T>();
     }
@@ -523,5 +524,4 @@
         for (int j=0; j<i->second.first; j++)
         {
-            cout << j << ": " << i->first.first->name() << endl;
             switch (i->first.first->name()[0])
             {
@@ -620,5 +620,5 @@
 //!
 template<class T>
-T Converter::Get(const void *dat, int size) const
+T Converter::Get(const void *dat, size_t size) const
 {
     if (!valid())
@@ -678,10 +678,10 @@
 }
 
-std::vector<boost::any> Converter::GetAny(const void *dat, int size) const
+std::vector<boost::any> Converter::GetAny(const void *dat, size_t size) const
 {
     return Get<vector<boost::any>>(dat, size);
 }
 
-std::vector<char> Converter::GetVector(const void *dat, int size) const
+std::vector<char> Converter::GetVector(const void *dat, size_t size) const
 {
     const string ref = GetString(dat, size);
@@ -694,5 +694,5 @@
 }
 
-string Converter::GetString(const void *dat, int size) const
+string Converter::GetString(const void *dat, size_t size) const
 {
     const string s = Get<string>(dat, size);
Index: trunk/FACT++/src/Converter.h
===================================================================
--- trunk/FACT++/src/Converter.h	(revision 10286)
+++ trunk/FACT++/src/Converter.h	(revision 10287)
@@ -52,5 +52,5 @@
         std::vector<T> Get(const std::string &str) const;
     template <class T>
-        T Get(const void *d, int size) const;
+        T Get(const void *d, size_t size) const;
 
 
@@ -82,12 +82,12 @@
     static FormatList Compile(const std::string &fmt, bool strict=false);
 
-    std::string             GetString(const void *d, int size) const;
-    std::vector<char>       GetVector(const void *d, int size) const;
-    std::vector<boost::any> GetAny(const void *d, int size) const;
+    std::string             GetString(const void *d, size_t size) const;
+    std::vector<char>       GetVector(const void *d, size_t size) const;
+    std::vector<boost::any> GetAny(const void *d, size_t size) const;
 
     std::vector<boost::any> GetAny(const std::string &str) const;
     std::vector<char>       GetVector(const std::string &str) const;
 
-    static std::string GetHex(const void *d, int size);
+    static std::string GetHex(const void *d, size_t size, size_t chunk=1);
 
 /*
