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 2010/01/13 11:39:53 UTC
svn commit: r898708 - in /commons/sandbox/runtime/trunk/src/main/native:
include/acr_private.h include/arch/unix/acr_arch.h
include/arch/windows/acr_arch.h shared/callback.c shared/memory.c
Author: mturk
Date: Wed Jan 13 10:39:52 2010
New Revision: 898708
URL: http://svn.apache.org/viewvc?rev=898708&view=rev
Log:
Add macro for obtaining the JNIEnv
Modified:
commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
commons/sandbox/runtime/trunk/src/main/native/include/arch/unix/acr_arch.h
commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h
commons/sandbox/runtime/trunk/src/main/native/shared/callback.c
commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h?rev=898708&r1=898707&r2=898708&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h Wed Jan 13 10:39:52 2010
@@ -294,6 +294,10 @@
#define IS_JOBJECT_VALID(E, O) \
((O) && !((*(E))->IsSameObject((E), (O), NULL) == JNI_TRUE))
+#define IF_ACR_JNI_ENV(E) \
+ if ((E) == NULL) \
+ (E) = ACR_GetJNIEnv(); \
+ if ((E) != NULL && (E) != INVALID_HANDLE_VALUE)
#define ACR_CLASS_LDEF(CL) \
int acr_class_##CL##_load(JNIEnv *_E)
Modified: commons/sandbox/runtime/trunk/src/main/native/include/arch/unix/acr_arch.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/arch/unix/acr_arch.h?rev=898708&r1=898707&r2=898708&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/arch/unix/acr_arch.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/arch/unix/acr_arch.h Wed Jan 13 10:39:52 2010
@@ -180,7 +180,7 @@
char *d = NULL;
if (s) {
size_t size = strlen(s);
- d = (char *)x_malloc(size + 2);
+ d = s_malloc(char, size + 2);
if (d) {
memcpy(d, s, size);
d[size] = '\0';
@@ -195,7 +195,7 @@
wchar_t *d = NULL;
if (s) {
size_t size = wcslen(s);
- d = (wchar_t *)x_malloc((size + 2) * sizeof(wchar_t));
+ d = s_malloc(wchar_t, size + 2);
if (d) {
memcpy(d, s, size * sizeof(wchar_t));
d[size] = L'\0';
Modified: commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h?rev=898708&r1=898707&r2=898708&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h Wed Jan 13 10:39:52 2010
@@ -414,7 +414,7 @@
char *d = NULL;
if (s) {
size_t size = strlen(s);
- d = (char *)x_malloc(size + 2);
+ d = s_malloc(char, size + 2);
if (d) {
memcpy(d, s, size);
d[size] = '\0';
@@ -429,7 +429,7 @@
wchar_t *d = NULL;
if (s) {
size_t size = wcslen(s);
- d = (wchar_t *)x_malloc((size + 2) * sizeof(wchar_t));
+ d = s_malloc(wchar_t, size + 2);
if (d) {
memcpy(d, s, size * sizeof(wchar_t));
d[size] = L'\0';
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/callback.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/callback.c?rev=898708&r1=898707&r2=898708&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/callback.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/callback.c Wed Jan 13 10:39:52 2010
@@ -197,3 +197,4 @@
return 0;
}
}
+
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/memory.c?rev=898708&r1=898707&r2=898708&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Wed Jan 13 10:39:52 2010
@@ -38,10 +38,9 @@
void *mem = x_malloc(size);
if (!mem) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENOMEM, ACR_ENOMEM);
+ }
}
return mem;
}
@@ -52,10 +51,9 @@
void *mem = x_calloc(size);
if (!mem) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENOMEM, ACR_ENOMEM);
+ }
}
return mem;
}
@@ -66,10 +64,9 @@
void *mem = realloc(org, size);
if (!mem) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENOMEM, ACR_ENOMEM);
+ }
}
return mem;
}
@@ -78,11 +75,10 @@
void *mem)
{
if (IS_INVALID_HANDLE(mem)) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENULL,
ACR_EISNULL);
+ }
}
else
x_free(mem);
@@ -113,9 +109,10 @@
if (size > ACR_SIZE_T_MAX) {
/* We should fall lot before that.
*/
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_EINVAL,
ACR_EINVAL);
+ }
ACR_SET_OS_ERROR(ACR_EINVAL);
return NULL;
}
@@ -187,9 +184,10 @@
if (size > ACR_SIZE_T_MAX) {
/* We should fail lot before that.
*/
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_EINVAL,
ACR_EINVAL);
+ }
ACR_SET_OS_ERROR(ACR_EINVAL);
return NULL;
}
@@ -221,11 +219,10 @@
acr_sbh_t *sbh)
{
if (!sbh) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENULL,
ACR_EISNULL);
+ }
return;
}
if (sbh->dpos && sbh->dbuf) {
@@ -243,11 +240,10 @@
acr_sbh_t *sbh)
{
if (!sbh) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENULL,
ACR_EISNULL);
+ }
return;
}
ACR_SbhReset(_E, file, line, sbh);
@@ -263,10 +259,9 @@
if (!arr) {
int err = ACR_GET_OS_ERROR();
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENOMEM, err);
+ }
ACR_SET_OS_ERROR(ACR_ENOMEM);
}
return arr;
@@ -278,11 +273,10 @@
void **ptr = arr;
if (IS_INVALID_HANDLE(arr)) {
- if (_E == NULL)
- _E = ACR_GetJNIEnv();
- if (IS_VALID_HANDLE(_E))
+ IF_ACR_JNI_ENV(_E) {
ACR_ThrowException(_E, file, line, ACR_EX_ENULL,
ACR_EISNULL);
+ }
}
else {
while (*ptr != NULL)