Author: mturk
Date: Thu Jun 18 08:20:23 2009
New Revision: 785947

URL: http://svn.apache.org/viewvc?rev=785947&view=rev
Log:
Use correct filed setter for pointer length

Modified:
    commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
URL: 
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=785947&r1=785946&r2=785947&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Thu Jun 18 
08:20:23 2009
@@ -137,17 +137,16 @@
     if (_clazzn.i && J4MID(0000)) {
         acr_pointer_cleanup_fn_t *cleanup;
         void  *pointer;
-               size_t plength;
 
         pointer = GET_IFIELD_V(0000, _O, void *);
         cleanup = GET_IFIELD_V(0001, _O, acr_pointer_cleanup_fn_t *);
-        plength = GET_IFIELD_I(0002, _O);
         if (pointer) {
             SET_IFIELD_P(0000, _O, NULL);
         }
         if (cleanup) {
-            int rc = (*cleanup)(pointer, plength);
-            if (rc) {
+            int rc;
+            size_t plength = (size_t)GET_IFIELD_P(0002, _O);
+            if ((rc = (*cleanup)(pointer, plength))) {
                 /* Throw RuntimeException with errno message */
                 ACR_ThrowException(_E, THROW_FMARK, ACR_EX_ERUNTIME, rc);
             }
@@ -163,15 +162,14 @@
     if (_clazzn.i && J4MID(0000)) {
         acr_pointer_cleanup_fn_t *cleanup;
         void  *pointer;
-               size_t plength;
 
         pointer = GET_IFIELD_V(0000, _O, void *);
         cleanup = GET_IFIELD_V(0001, _O, acr_pointer_cleanup_fn_t *);
-        plength = GET_IFIELD_I(0002, _O);
         if (pointer) {
             SET_IFIELD_P(0000, _O, NULL);
         }
         if (cleanup) {
+            size_t plength = (size_t)GET_IFIELD_P(0002, _O);
             (*cleanup)(pointer, plength);
         }
     }
@@ -230,7 +228,6 @@
     if (_clazzn.i && J4MID(0000) && _O) {
         acr_pointer_cleanup_fn_t *cleanup;
         void  *pointer;
-               size_t plength;
 
         if ((*_E)->MonitorEnter(_E, _O)) {
             /* Object locking failed */
@@ -238,7 +235,6 @@
         }
         pointer = GET_IFIELD_V(0000, _O, void *);
         cleanup = GET_IFIELD_V(0001, _O, acr_pointer_cleanup_fn_t *);
-        plength = GET_IFIELD_I(0002, _O);
         if (pointer) {
             SET_IFIELD_P(0000, _O, NULL);
         }
@@ -247,6 +243,7 @@
         }
         (*_E)->MonitorExit(_E, _O);
         if (cleanup) {
+            size_t plength = (size_t)GET_IFIELD_P(0002, _O);
             return (*cleanup)(pointer, plength);
         }
         else {


Reply via email to