Author: mturk
Date: Sat Oct 11 07:54:42 2008
New Revision: 703667

URL: http://svn.apache.org/viewvc?rev=703667&view=rev
Log:
Add two environment vars so we can have ${JKISAPI_PATH} in .properties files

Modified:
    tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c

Modified: tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c?rev=703667&r1=703666&r2=703667&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c (original)
+++ tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c Sat Oct 11 07:54:42 
2008
@@ -471,6 +471,7 @@
         (place) = def;                                      \
   } } while(0)
 
+static char dll_file_path[MAX_PATH];
 static char ini_file_name[MAX_PATH];
 static int using_ini_file = JK_FALSE;
 static int is_inited = JK_FALSE;
@@ -2273,18 +2274,33 @@
                     LPVOID lpReserved)  // Reserved parameter for future use
 {
     BOOL fReturn = TRUE;
-    char drive[_MAX_DRIVE];
-    char dir[_MAX_DIR];
     char fname[MAX_PATH];
-    char file_name[MAX_PATH];
 
     UNREFERENCED_PARAMETER(lpReserved);
 
     switch (ulReason) {
     case DLL_PROCESS_ATTACH:
-        if (GetModuleFileName(hInst, file_name, sizeof(file_name))) {
-            _splitpath(file_name, drive, dir, fname, NULL);
-            _makepath(ini_file_name, drive, dir, fname, ".properties");
+        if (GetModuleFileName(hInst, fname, sizeof(fname))) {
+            char *p = strrchr(fname, '.');
+            if (p) {
+                *p = '\0';
+                StringCbCopy(ini_file_name, MAX_PATH, fname);
+                StringCbCat(ini_file_name, MAX_PATH, ".properties");
+            }
+            else {
+                /* Cannot obtain file name ? */
+                fReturn = JK_FALSE;
+            }
+            if ((p = strrchr(fname, '\\'))) {
+                *(p++) = '\0';
+                StringCbCopy(dll_file_path, MAX_PATH, fname);
+                SetEnvironmentVariable("JKISAPI_PATH", dll_file_path);
+                SetEnvironmentVariable("JKISAPI_NAME", p);
+            }
+            else {
+                /* Cannot obtain file name ? */
+                fReturn = JK_FALSE;
+            }
         }
         else {
             fReturn = JK_FALSE;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to