You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/08/07 16:46:21 UTC

svn commit: r802025 - /commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c

Author: mturk
Date: Fri Aug  7 14:46:20 2009
New Revision: 802025

URL: http://svn.apache.org/viewvc?rev=802025&view=rev
Log:
Use full path for resource name

Modified:
    commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c?rev=802025&r1=802024&r2=802025&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c Fri Aug  7 14:46:20 2009
@@ -26,8 +26,9 @@
 wchar_t *res_name_from_filenamew(int global, wchar_t *rname,
                                  const wchar_t *fname)
 {
+    DWORD   rc;
+    wchar_t pname[ACR_HBUFF_SIZ];
     const wchar_t *prefix;
-    size_t n = wcslen(fname);
 
     if (global)
         prefix = L"Global\\ACR_";
@@ -35,7 +36,10 @@
         prefix = L"Local\\ACR_";
 
     wcscpy(rname, prefix);
-    ACR_Sha1Base16W(fname, n, rname + wcslen(prefix)); 
-
+    rc = GetFullPathNameW(fname, ACR_HBUFF_LEN, pname, NULL);
+    if (rc == 0 || rc > ACR_HBUFF_LEN)
+        ACR_Sha1Base16W(fname, wcslen(fname), rname + wcslen(prefix));
+    else
+        ACR_Sha1Base16W(pname, wcslen(pname), rname + wcslen(prefix));
     return rname;
 }