imgtools/imglib/symbolutil/symbolprocessunit.cpp
changeset 712 df89378e9223
parent 695 46ca13b54f56
child 714 e5a58c351011
--- a/imgtools/imglib/symbolutil/symbolprocessunit.cpp	Thu Nov 18 16:02:32 2010 +0800
+++ b/imgtools/imglib/symbolutil/symbolprocessunit.cpp	Tue Nov 30 13:59:58 2010 +0800
@@ -20,7 +20,9 @@
 #include "symbolgenerator.h"
 #include "h_utl.h"
 
-
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif 
 #define MAX_LINE 65535
 
 #if defined(__LINUX__)
@@ -536,10 +538,10 @@
 	    boost::regex regARMV5("ARMV5", boost::regex::icase);
 	    boost::regex regGCCEoARMV4("(GCCE|ARMV4)", boost::regex::icase);
 	    boost::cmatch what;
-	    if(regex_search(aFile, what, regARMV5)) {
+	    if(regex_search(aFile.c_str(), what, regARMV5)) {
 	        ProcessArmv5File(aFile, fMap);
 	    }
-	    else if(regex_search(aFile, what, regGCCEoARMV4)) {
+	    else if(regex_search(aFile.c_str(), what, regGCCEoARMV4)) {
 	        ProcessGcceOrArm4File(aFile, fMap);
 	    }
 	    else {
@@ -676,13 +678,13 @@
                 break;
             else if(regex_search(str, what, reg1)) {
                 sLibFile.assign(what[4].first,what[4].second-what[4].first);
-                if(!regex_search(sLibFile, what1, reg)) {
+                if(!regex_search(sLibFile.c_str(), what1, reg)) {
                     sTmp.assign(what[2].first,what[2].second-what[2].first);
                     addr = strtol(sTmp.c_str(), NULL, 16);
                     sTmp.assign(what[3].first,what[3].second-what[3].first);
                     len = strtol(sTmp.c_str(), NULL, 16);
                     syms[addr+len] = "";
-                    if(regex_search(sLibFile, what, reg3)) {
+                    if(regex_search(sLibFile.c_str(), what, reg3)) {
                         stubhex = addr;
                     }
                 }
@@ -778,10 +780,10 @@
 	    boost::regex regARMV5("ARMV5", boost::regex::icase);
 	    boost::regex regGCCEoARMV4("(GCCE|ARMV4)", boost::regex::icase);
 	    boost::cmatch what;
-	    if(regex_search(aFile, what, regARMV5)) {
+	    if(regex_search(aFile.c_str(), what, regARMV5)) {
 	        ProcessArmv5File(aFile, fMap);
 	    }
-	    else if(regex_search(aFile, what, regGCCEoARMV4)) {
+	    else if(regex_search(aFile.c_str(), what, regGCCEoARMV4)) {
 	        ProcessGcceOrArm4File(aFile, fMap);
 	    }
 	    else {
@@ -879,7 +881,7 @@
                 if( (syms.find(k) == syms.end()) || size != 0)
                 {
                 	TSymbolPCEntry tmpEntry;
-                	if(regex_search(sSym, what, regScope))
+                	if(regex_search(sSym.c_str(), what, regScope))
                 	{
                 		scopeName.assign(what[1].first, what[1].second-what[1].first);
                 		symName.assign(what[2].first, what[2].second-what[2].first);
@@ -962,13 +964,13 @@
                 break;
             else if(regex_search(str, what, reg1)) {
                 sLibFile.assign(what[4].first,what[4].second-what[4].first);
-                if(!regex_search(sLibFile, what1, reg)) {
+                if(!regex_search(sLibFile.c_str(), what1, reg)) {
                     sTmp.assign(what[2].first,what[2].second-what[2].first);
                     addr = strtol(sTmp.c_str(), NULL, 16);
                     sTmp.assign(what[3].first,what[3].second-what[3].first);
                     len = strtol(sTmp.c_str(), NULL, 16);
                     syms[addr+len] = "";
-                    if(regex_search(sLibFile, what, reg3)) {
+                    if(regex_search(sLibFile.c_str(), what, reg3)) {
                         stubhex = addr;
                     }
                 }