Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/error.cpp
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/error.cpp	(revision 808)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/error.cpp	(revision 809)
@@ -4,37 +4,44 @@
 
 #define STRING_SYSTEM_DECLAREHANDLE "*_System_DeclareHandle_"
-void DifferentTypeError( const Type &varType, const Type &calcFormalType, const int iWarning,const char *pszFuncName,const int ParmNum){
+void DifferentTypeError(const Type &varType, const Type &calcFormalType, const int iWarning, const char *pszFuncName, const int ParmNum)
+{
 	//////////////////////////
 	// キャストに関する警告
 	//////////////////////////
-	char temporary[255];
-	Type calcType( calcFormalType );
-
-	if(IS_LITERAL(calcType.GetIndex()))
+	std::ostringstream s;
+	Type calcType(calcFormalType);
+
+	if (IS_LITERAL(calcType.GetIndex()))
 	{
 		calcType.SetIndex( -1 );
 	}
 
-	if(pszFuncName)
-		sprintf(temporary,"\"%s\"の第%dパラメータが、",pszFuncName,ParmNum+1);
-	else temporary[0]=0;
-
-	std::string varTypeName = compiler.TypeToString( varType );
-	if(memcmp( varTypeName.c_str(),STRING_SYSTEM_DECLAREHANDLE,lstrlen(STRING_SYSTEM_DECLAREHANDLE))==0)
-	{
-		varTypeName = varTypeName.substr( lstrlen(STRING_SYSTEM_DECLAREHANDLE) );
-	}
-
-	std::string calcTypeName = compiler.TypeToString( calcType );
-	if(memcmp( calcTypeName.c_str(),STRING_SYSTEM_DECLAREHANDLE,lstrlen(STRING_SYSTEM_DECLAREHANDLE))==0)
-	{
-		calcTypeName = calcTypeName.substr( lstrlen(STRING_SYSTEM_DECLAREHANDLE) );
-	}
-	sprintf(temporary+lstrlen(temporary),"%sから%s",calcTypeName.c_str(),varTypeName.c_str());
+	if (pszFuncName)
+	{
+		s << boost::format("\"%s\"の第%dパラメータが、") % pszFuncName % (ParmNum + 1);
+	}
+
+	std::string varTypeName = compiler.TypeToString(varType);
+	if (memcmp(varTypeName.c_str(), STRING_SYSTEM_DECLAREHANDLE, lstrlen(STRING_SYSTEM_DECLAREHANDLE)) == 0)
+	{
+		varTypeName = varTypeName.substr(strlen(STRING_SYSTEM_DECLAREHANDLE));
+	}
+
+	std::string calcTypeName = compiler.TypeToString(calcType);
+	if (memcmp(calcTypeName.c_str(), STRING_SYSTEM_DECLAREHANDLE, strlen(STRING_SYSTEM_DECLAREHANDLE)) == 0)
+	{
+		calcTypeName = calcTypeName.substr(strlen(STRING_SYSTEM_DECLAREHANDLE));
+	}
+	s << boost::format("%sから%s") % calcTypeName % varTypeName;
 
 	extern int cp;
-	if(iWarning==1) compiler.errorMessenger.Output(-101,temporary,cp);
- 	else if(iWarning==2) compiler.errorMessenger.Output(-102,temporary,cp);
- 	else if(iWarning==3) compiler.errorMessenger.Output(50,temporary,cp);
+	int errorCode;
+	switch (iWarning)
+	{
+		case 1: errorCode = -101; break;
+		case 2: errorCode = -102; break;
+		case 3: errorCode = 50; break;
+	}
+	compiler.errorMessenger.Output(errorCode, s.str().c_str(), cp);
 }
 
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp	(revision 808)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp	(revision 809)
@@ -353,5 +353,5 @@
 const std::string Compiler::TypeToString( const Type &type )
 {
-	if( PTR_LEVEL( type.GetBasicType() ) ){
+	if(type.GetBasicType() != DEF_NON && PTR_LEVEL( type.GetBasicType() ) ){
 		//ポインタレベルが1以上の場合
 		Type tempType( type );
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/stdafx.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/stdafx.h	(revision 808)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/stdafx.h	(revision 809)
@@ -28,4 +28,6 @@
 //boost libraries
 #include <boost/foreach.hpp>
+#include <boost/format.hpp>
+#include <boost/optional.hpp>
 #include <boost/serialization/serialization.hpp>
 #include <boost/serialization/nvp.hpp>
Index: branches/egtra/ab5.0/abdev/ab_common/src/ResourceManager/ResourceManager.cpp
===================================================================
--- branches/egtra/ab5.0/abdev/ab_common/src/ResourceManager/ResourceManager.cpp	(revision 808)
+++ branches/egtra/ab5.0/abdev/ab_common/src/ResourceManager/ResourceManager.cpp	(revision 809)
@@ -39,4 +39,9 @@
 
 	std::string baseDir = Jenga::Common::Path::ExtractDirPath( resourceFilePath );
+
+	if (buffer.empty())
+	{
+		return false;
+	}
 
 	i2=0;
