diff -ru eumetsat-decompwt-20080728/2.03/COMP/Inc/CImage.h eumetsat-decompwt-20080728-mloskot/COMP/Inc/CImage.h
--- eumetsat-decompwt-20080728/2.03/COMP/Inc/CImage.h	2008-03-26 10:10:58.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/COMP/Inc/CImage.h	2008-07-28 16:42:26.000000000 +0200
@@ -438,15 +438,15 @@
 
 	// Description:	Similar to std::auto_ptr::size().
 	// Returns:		The number of pixels in the image.
-	unsigned long CImage::GetSize() const { return m_size; }
+	unsigned long GetSize() const { return m_size; }
 
 	// Description:	Similar to std::auto_ptr::get().
 	// Returns:		A pointer to the raw data.
-	unsigned short* CImage::Get() { return &m_data[0]; }
+	unsigned short* Get() { return &m_data[0]; }
 
 	// Description:	Gets the array of pointers to lines.
 	// Returns:		A pointer to the array of line pointers.
-	unsigned short** CImage::GetP() { return &m_dataptr[0]; }
+	unsigned short** GetP() { return &m_dataptr[0]; }
 
 	// Description:	Set the pixels of the lines from line # i_from to line  
 	//				# i_to included to 0.
diff -ru eumetsat-decompwt-20080728/2.03/COMP/Inc/CQualityInfo.h eumetsat-decompwt-20080728-mloskot/COMP/Inc/CQualityInfo.h
--- eumetsat-decompwt-20080728/2.03/COMP/Inc/CQualityInfo.h	2008-03-26 10:10:58.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/COMP/Inc/CQualityInfo.h	2008-07-29 00:07:44.000000000 +0200
@@ -35,12 +35,10 @@
 
 *******************************************************************************/
 
-#include <memory>
-
 #include "CDataField.h"
 #include "RMAErrorHandling.h"
-
-
+#include <memory>
+#include <cstdlib>
 
 
 namespace COMP
@@ -145,7 +143,7 @@
 #ifdef _DEBUG
 		Assert ( i_to < size(), Util::CParamException());
 #endif
-		for (unsigned short i=i_from ; i<=i_to ; i++) (*this)[i] = - abs ((*this)[i]);
+		for (unsigned short i=i_from ; i<=i_to ; i++) (*this)[i] = - std::abs ((*this)[i]);
 		COMP_CATCHTHIS
 	}
 
@@ -154,7 +152,5 @@
 
 } // end namespace
 
-
 #endif
 
-
diff -ru eumetsat-decompwt-20080728/2.03/COMP/JPEG/Inc/CJBlock.h eumetsat-decompwt-20080728-mloskot/COMP/JPEG/Inc/CJBlock.h
--- eumetsat-decompwt-20080728/2.03/COMP/JPEG/Inc/CJBlock.h	2008-03-26 10:11:00.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/COMP/JPEG/Inc/CJBlock.h	2008-07-28 16:44:51.000000000 +0200
@@ -190,7 +190,8 @@
 
 
 // is only supposed to operate on unsigned short:
-inline void CJBlock<short> :: differential_unshift (short &t_last_DC)
+template<>
+inline void CJBlock<short>::differential_unshift (short &t_last_DC)
 {
 	COMP_TRYTHIS_SPEED
 	// transform the DC coefficient of Qblock by adding the last_DC value
@@ -200,15 +201,15 @@
 }
 
 template <class T>
-inline void CJBlock<T> :: differential_unshift (T &t_last_DC)
+inline void CJBlock<T>::differential_unshift (T &t_last_DC)
 {
 	COMP_TRYTHIS
 	Assert (0, Util::CParamException());
 	COMP_CATCHTHIS
 }
 
-
-inline void CJBlock<short> :: differential_shift (short &t_last_DC)
+template<>
+inline void CJBlock<short>::differential_shift (short &t_last_DC)
 {
 	COMP_TRYTHIS_SPEED
 	// transform the DC coefficient of Qblock by substracting the last_DC value
@@ -227,7 +228,7 @@
 	COMP_CATCHTHIS
 }
 
-
+template <>
 inline void CJBlock<unsigned short>::level_shift (CJBlock<short> &o_block, const unsigned short &i_sub)
 {
 	COMP_TRYTHIS_SPEED
@@ -243,8 +244,8 @@
 	COMP_CATCHTHIS
 }
 
-
-inline void CJBlock<short> :: level_unshift (CJBlock<unsigned short> &o_block, const unsigned short &i_add)
+template <>
+inline void CJBlock<short>::level_unshift (CJBlock<unsigned short> &o_block, const unsigned short &i_add)
 {
 	COMP_TRYTHIS_SPEED
 	__int32 prov;
diff -ru eumetsat-decompwt-20080728/2.03/COMP/JPEG/Src/CJBlock.cpp eumetsat-decompwt-20080728-mloskot/COMP/JPEG/Src/CJBlock.cpp
--- eumetsat-decompwt-20080728/2.03/COMP/JPEG/Src/CJBlock.cpp	2008-03-26 10:11:00.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/COMP/JPEG/Src/CJBlock.cpp	2008-07-28 16:45:30.000000000 +0200
@@ -155,7 +155,7 @@
 	COMP_CATCHTHIS
 }
 
-
+template <>
 void CJBlock<double>::inverse_DCT (CJBlock<short> &o_shifted_block)
 {
 	COMP_TRYTHIS
diff -ru eumetsat-decompwt-20080728/2.03/DISE/CDataField.h eumetsat-decompwt-20080728-mloskot/DISE/CDataField.h
--- eumetsat-decompwt-20080728/2.03/DISE/CDataField.h	2008-03-26 10:11:08.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/DISE/CDataField.h	2008-07-29 00:06:57.000000000 +0200
@@ -53,6 +53,7 @@
 
 #include <iostream>
 #include <string>
+#include <cstring>
 
 #include "SmartPtr.h"		// Util
 #include "ErrorHandling.h"	// Util
@@ -136,7 +137,7 @@
 		 AssertNamed(m_Size == 0 || Data() != NULL, "Memory allocation failed!");
 		 
 		 if (i_Initialise && (Data() != NULL))
-		     memset(Data(), 0, (size_t)((m_Size + 7) / 8));
+		     std::memset(Data(), 0, (size_t)((m_Size + 7) / 8));
 	     }
 	 catch (...)
 	     {
@@ -182,7 +183,7 @@
 	 try
 	     {
 		 Util::CDataField dataField(m_Size, false);
-		 memcpy(dataField, (const unsigned char*)(*this), (unsigned int)((m_Size + 7) / 8));
+         std::memcpy(dataField, (const unsigned char*)(*this), (unsigned int)((m_Size + 7) / 8));
 		 return dataField;
 	     }
 	 catch (...)
@@ -307,7 +308,7 @@
 		     i_Offset + i_Length <= (m_Size + 7) / 8,
 		     "Out-of-border read access to data field attempted.");
 	 
-	 memcpy(o_Data, Data() + i_Offset, i_Length);
+     std::memcpy(o_Data, Data() + i_Offset, i_Length);
      }
 
 	
@@ -328,7 +329,7 @@
 		     i_Offset + i_Length <= (m_Size + 7) / 8,
 		     "Out-of-border write access to data field attempted.");
 
-	 memcpy(Data() + i_Offset, i_Data, i_Length);
+     std::memcpy(Data() + i_Offset, i_Data, i_Length);
      }
 
  /**
@@ -348,7 +349,7 @@
 		     i_Offset + i_Length <= (m_Size + 7) / 8,
 		     "Out-of-border write access to data field attempted.");
 
-	 memset(Data() + i_Offset, i_Value, i_Length);
+     std::memset(Data() + i_Offset, i_Value, i_Length);
      }
 
 };
@@ -499,7 +500,7 @@
 		try
 		{
 			Util::CDataFieldUncompressedImage dataField(m_NB, m_NC, m_NL, m_NR, false);
-			memcpy(dataField, (const unsigned char*)(*this), (unsigned int)((m_Size + 7) / 8));
+            std::memcpy(dataField, (const unsigned char*)(*this), (unsigned int)((m_Size + 7) / 8));
 			return dataField;
 		}
 		catch (...)
@@ -652,7 +653,7 @@
 		try
 		{
 			Util::CDataFieldCompressedImage dataField(m_Size, m_NB, m_NC, m_NL, false);
-			memcpy(dataField, (const unsigned char*)(*this), (unsigned int)((m_Size + 7) / 8));
+            std::memcpy(dataField, (const unsigned char*)(*this), (unsigned int)((m_Size + 7) / 8));
 			return dataField;
 		}
 		catch (...)
diff -ru eumetsat-decompwt-20080728/2.03/DISE/CxRITAnnotation.cpp eumetsat-decompwt-20080728-mloskot/DISE/CxRITAnnotation.cpp
--- eumetsat-decompwt-20080728/2.03/DISE/CxRITAnnotation.cpp	2008-03-26 10:11:08.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/DISE/CxRITAnnotation.cpp	2008-07-29 00:09:04.000000000 +0200
@@ -1,9 +1,8 @@
-#include <iomanip>
-#include <stdio.h>
 #include "CxRITAnnotation.h"	// DISE
-
-
-
+#include <iomanip>
+#include <cstdio>
+#include <cstring> // strlen
+using namespace std;
 
 namespace DISE
 {
diff -ru eumetsat-decompwt-20080728/2.03/DISE/ErrorHandling.cpp eumetsat-decompwt-20080728-mloskot/DISE/ErrorHandling.cpp
--- eumetsat-decompwt-20080728/2.03/DISE/ErrorHandling.cpp	2008-03-26 10:11:08.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/DISE/ErrorHandling.cpp	2008-07-29 00:10:44.000000000 +0200
@@ -34,13 +34,13 @@
 ------------------------------------------------------------------------------------------*/
 
 #include "ErrorHandling.h"
-#include <errno.h>
-#include <stdio.h>
+#include <cerrno>
+#include <cstdio>
 #include <string>
+#include <cstring>
 #include <iostream>
 #include <sstream>
-
-
+using namespace std;
 
 void Util::LogException(const char* file, int line)
 {
diff -ru eumetsat-decompwt-20080728/2.03/DISE/GSDS_Volume_F_NBO.h eumetsat-decompwt-20080728-mloskot/DISE/GSDS_Volume_F_NBO.h
--- eumetsat-decompwt-20080728/2.03/DISE/GSDS_Volume_F_NBO.h	2008-03-26 10:11:06.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/DISE/GSDS_Volume_F_NBO.h	2008-07-29 00:09:56.000000000 +0200
@@ -50,10 +50,10 @@
 
 *******************************************************************************/
 
-#include <iostream>
-
 #include "ErrorHandling.h"	// Util
 #include "Types.h"
+#include <iostream>
+#include <cstring>
 
 inline const bool isBigEndian() {
 	char tmp[] = {0, 1};
@@ -1148,7 +1148,7 @@
 		m_DestFacilityId=i_.m_DestFacilityId;
 		m_DestEnvId=i_.m_DestEnvId;
 		m_DataFieldLength=i_.m_DataFieldLength;
-		strcpy(m_Description,i_.m_Description);
+        std::strcpy(m_Description,i_.m_Description);
 	}
 	
 	friend std::ostream& operator<<(std::ostream& i_Stream, const GP_FI_HEADER& i_Value)
@@ -1211,7 +1211,7 @@
 		m_ServiceSubtype=i_.m_ServiceSubtype;
 		m_FileTime=i_.m_FileTime;
 		m_SpacecraftId=i_.m_SpacecraftId;
-		strcpy(m_Description,i_.m_Description);
+        std::strcpy(m_Description,i_.m_Description);
 	}
 
 	friend std::ostream& operator<<(std::ostream& i_Stream, const GP_FI_SH1& i_Value)
diff -ru eumetsat-decompwt-20080728/2.03/DISE/UTCTime.cpp eumetsat-decompwt-20080728-mloskot/DISE/UTCTime.cpp
--- eumetsat-decompwt-20080728/2.03/DISE/UTCTime.cpp	2008-03-26 10:11:06.000000000 +0100
+++ eumetsat-decompwt-20080728-mloskot/DISE/UTCTime.cpp	2008-07-29 00:11:26.000000000 +0200
@@ -35,7 +35,8 @@
 
 #include "UTCTime.h"
 #include "ErrorHandling.h"
-
+#include <cstring> // memset
+using namespace std;
 
 #ifdef SUN
 struct tm *localtime_r(const time_t *timep, struct tm *result)

