summaryrefslogtreecommitdiff
path: root/x11-toolkits/swt-devel/files/patch-os.c
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2007-08-03 21:53:45 +0000
committerMartin Wilke <miwi@FreeBSD.org>2007-08-03 21:53:45 +0000
commit7a922e01bfc18cfe1e785a4c1e76f4997e0cde44 (patch)
tree11f80654f360c8f39698e62449ffcba99b46dfdc /x11-toolkits/swt-devel/files/patch-os.c
parent- Replace USE_XLIB with USE_XORG (xt xext) (diff)
- Fix JVM crashes
- Bump PORTREVISION PR: 114819 Submitted by: Dmitrij Tejblum <dt@yandex.ru> Approved by: Robert Noland <rnoland@2hip.net> (maintainer)
Notes
Notes: svn path=/head/; revision=197040
Diffstat (limited to '')
-rw-r--r--x11-toolkits/swt-devel/files/patch-os.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/x11-toolkits/swt-devel/files/patch-os.c b/x11-toolkits/swt-devel/files/patch-os.c
new file mode 100644
index 000000000000..c0f465f77808
--- /dev/null
+++ b/x11-toolkits/swt-devel/files/patch-os.c
@@ -0,0 +1,21 @@
+--- ./os.c 2007-07-22 11:53:22.000000000 +0400
++++ ./os.c 2007-07-22 11:57:56.000000000 +0400
+@@ -17397,11 +17397,16 @@
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, realpath_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+- if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
++ if (arg1) {
++ if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
++ } else
++ lparg1 = malloc(PATH_MAX);
+ rc = (jint)realpath((const char *)lparg0, (char *)lparg1);
+ fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
++ if (!arg1 && lparg1 && rc == 0)
++ free(lparg1);
+ OS_NATIVE_EXIT(env, that, realpath_FUNC);
+ return rc;
+ }
+