[cpp-xmltooling COMMIT] /branches/REL_1/xmltooling/util/PathResolver.cpp

noreply at shibboleth.net noreply at shibboleth.net
Thu Jun 7 02:56:05 BST 2012


Author: scantor
Date: Thu Jun  7 02:56:04 2012
New Revision: 977

URL: http://svn.shibboleth.net/view/cpp-xmltooling?rev=977&view=rev
Log:
Workaround for missing APPDATA on Windows XP

Modified:
    branches/REL_1/xmltooling/util/PathResolver.cpp

Modified: branches/REL_1/xmltooling/util/PathResolver.cpp
URL: http://svn.shibboleth.net/view/cpp-xmltooling/branches/REL_1/xmltooling/util/PathResolver.cpp?rev=977&r1=976&r2=977&view=diff
==============================================================================
--- branches/REL_1/xmltooling/util/PathResolver.cpp (original)
+++ branches/REL_1/xmltooling/util/PathResolver.cpp Thu Jun  7 02:56:04 2012
@@ -104,6 +104,10 @@
 #ifdef WIN32
     // Check for possible environment variable(s).
     if (s.find('%') != string::npos) {
+        // This is an ugly workaround for Windows XP, which doesn't support the APPDATA variable.
+        if (!getenv("APPDATA") && s.find("%APPDATA%") != string::npos) {
+            s.replace(s.find("%APPDATA%"), 9, "%ALLUSERSPROFILE%\\Application Data");
+        }
         char expbuf[MAX_PATH + 2];
         DWORD cnt = ExpandEnvironmentStrings(s.c_str(), expbuf, sizeof(expbuf));
         if (cnt != 0 && cnt <= sizeof(expbuf))



More information about the commits mailing list