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/10/22 08:48:25 UTC

svn commit: r828328 - in /commons/sandbox/runtime/trunk/src/main/native/os/win32: mmap.c shm.c wutil.c

Author: mturk
Date: Thu Oct 22 06:48:25 2009
New Revision: 828328

URL: http://svn.apache.org/viewvc?rev=828328&view=rev
Log:
Always use path macros for ARC<->Win32 path conversion

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

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c?rev=828328&r1=828327&r2=828328&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c Thu Oct 22 06:48:25 2009
@@ -389,14 +389,14 @@
     int     imap;
 
     UNREFERENCED_O;
-    WITH_WSTR(fname) {
+    WITH_WPATH(fname) {
         imap = ACR_MMapOpen(_E, J2W(fname), flags);
         if (imap > 0) {
             /* Create Descriptor Object */
             mapd = ACR_DescriptorCreate(_E, ACR_DT_MMAP, imap, NULL,
                                         mmap_descriptor_cleanup);
         }
-    } END_WITH_WSTR(fname);
+    } END_WITH_WPATH(fname);
     return mapd;
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c?rev=828328&r1=828327&r2=828328&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c Thu Oct 22 06:48:25 2009
@@ -483,9 +483,9 @@
     jobject shm = NULL;
     UNREFERENCED_O;
 
-    WITH_WSTR(name) {
+    WITH_WPATH(name) {
         shm = ACR_SharedMemoryObjectCreate(_E, J2W(name), (size_t)size);
-    } END_WITH_WSTR(name);
+    } END_WITH_WPATH(name);
     return shm;
 }
 
@@ -496,9 +496,9 @@
     jobject shm = NULL;
     UNREFERENCED_O;
 
-    WITH_WSTR(name) {
+    WITH_WPATH(name) {
         shm = ACR_SharedMemoryObjectAttach(_E, J2W(name));
-    } END_WITH_WSTR(name);
+    } END_WITH_WPATH(name);
     return shm;
 }
 
@@ -509,9 +509,9 @@
     int rc = ACR_SUCCESS;
     UNREFERENCED_O;
 
-    WITH_WSTR(name) {
+    WITH_WPATH(name) {
         rc = ACR_ShmRemove(_E, J2W(name));
-    } END_WITH_WSTR(name);
+    } END_WITH_WPATH(name);
     return rc;
 }
 

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=828328&r1=828327&r2=828328&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 Thu Oct 22 06:48:25 2009
@@ -521,41 +521,44 @@
 
 wchar_t *acr_GetAbsolutePath(JNIEnv *_E, HANDLE fh, const wchar_t *path)
 {
-    wchar_t *fname = NULL;
-    int rc = 0;
+    wchar_t buff[ACR_HBUFF_SIZ];
+    wchar_t name[ACR_HBUFF_SIZ] = L"";
+    DWORD   nl;
+    int     rc = 0;
 
     if (ACR_HAVE_LATE_DLL_FUNC(GetFinalPathNameByHandleW)) {
-        DWORD nl;
-        nl = GetFinalPathNameByHandleW(fh, NULL, 0, FILE_NAME_NORMALIZED);
+        nl = GetFinalPathNameByHandleW(fh, buff, ACR_HBUFF_LEN, FILE_NAME_NORMALIZED);
         if (nl == 0) {
             rc = ACR_GET_OS_ERROR();
             goto finally;
         }
-        fname = ACR_MALLOC(wchar_t, nl + 1);
-        if (!fname) {
-            rc = ACR_ENOMEM;
+        if (nl >= ACR_HBUFF_SIZ) {
+            rc = ACR_EOVERFLOW;
             goto finally;
         }
-        GetFinalPathNameByHandleW(fh, fname, nl, FILE_NAME_NORMALIZED);
+        if ((rc = unicode_to_acr_path(name, ACR_HBUFF_LEN, buff)))
+            goto finally;
     }
     else {
-        DWORD nl;
-
-        nl = GetFullPathNameW(path, 0, NULL, NULL);
+        nl = GetFullPathNameW(path, ACR_HBUFF_LEN, buff, NULL);
         if (nl == 0) {
             rc = ACR_GET_OS_ERROR();
             goto finally;
         }
-        fname = ACR_MALLOC(wchar_t, nl + 1);
-        if (!fname) {
-            rc = ACR_ENOMEM;
+        if (nl >= ACR_HBUFF_SIZ) {
+            rc = ACR_EOVERFLOW;
             goto finally;
         }
-        GetFullPathNameW(path, nl, fname, NULL);
+        if ((rc = unicode_to_acr_path(name, ACR_HBUFF_LEN, buff)))
+            goto finally;
     }
 
 finally:
-    if (rc)
+    if (rc) {
         SetLastError(rc);
-    return fname;
+        return NULL;
+    }
+    else {
+        return ACR_StrdupW(_E, THROW_FMARK, name);
+    }
 }