--- fusion_sdk_1.1.2/calvin_files/utils/src/FileUtils.cpp	2011-05-16 09:26:32.000000000 -0400
+++ FileUtils.cpp	2012-08-30 08:51:43.000000000 -0400
@@ -35,6 +35,7 @@
 #include <direct.h>
 #define 	S_ISDIR(m)   (((m) & S_IFMT) == S_IFDIR)
 #else
+#include <unistd.h>
 #include <dirent.h>
 #endif
 
@@ -106,7 +107,9 @@
     if(strLen > BUFFSIZE - 1) {
       std::string se = "Cannot handle string longer than " + FUToStr(BUFFSIZE) + ": '" +
                 in + "' is " + FUToStr(strLen);
-		throw new std::exception(se.c_str());
+      // PATCH: std::exception(const char*) does not have to exist according
+      //        to standards.  Using subclass runtime_error instead. /HB
+		throw new std::runtime_error(se.c_str());
     }
     mbstowcs(wbuffer,inPtr, strLen + 1);
 
@@ -124,7 +127,9 @@
 
     // If we will overflow our buffer, then abort.
     if(retval > BUFFSIZE-1) {
-		throw new std::exception("Unexpected failure. Converted more characters than expected");
+      // PATCH: std::exception(const char*) does not have to exist according
+      //        to standards.  Using subclass runtime_error instead. /HB
+      throw new std::runtime_error("Unexpected failure. Converted more characters than expected");
     }
 
     // Convert the absolute path to asci char from wide char
