You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2008/10/28 09:01:20 UTC
svn commit: r708472 -
/harmony/enhanced/jdktools/trunk/modules/samsa/src/main/native/samsa/windows/javaw.c
Author: hindessm
Date: Tue Oct 28 01:01:19 2008
New Revision: 708472
URL: http://svn.apache.org/viewvc?rev=708472&view=rev
Log:
Attempt to fix windows break in r708057.
Modified:
harmony/enhanced/jdktools/trunk/modules/samsa/src/main/native/samsa/windows/javaw.c
Modified: harmony/enhanced/jdktools/trunk/modules/samsa/src/main/native/samsa/windows/javaw.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/samsa/src/main/native/samsa/windows/javaw.c?rev=708472&r1=708471&r2=708472&view=diff
==============================================================================
--- harmony/enhanced/jdktools/trunk/modules/samsa/src/main/native/samsa/windows/javaw.c (original)
+++ harmony/enhanced/jdktools/trunk/modules/samsa/src/main/native/samsa/windows/javaw.c Tue Oct 28 01:01:19 2008
@@ -17,9 +17,11 @@
#include <windows.h>
#include <stdio.h>
+#include <sys/stat.h>
#define JDK_WEXE_POSTFIX "\\jre\\bin\\javaw.exe\" "
#define JRE_WEXE_POSTFIX "\\bin\\javaw.exe\" "
+#define JRE_TEST_FILE "\\bin\\harmony.properties"
char *getRoot();
int isJRERoot(const char*);
@@ -65,3 +67,38 @@
return (int)res;
}
+
+/*****************************************************************
+ * isJRERoot(const char* root)
+ *
+ * returns 1 if root is the jre root
+ */
+int isJRERoot(const char* root) {
+
+ char *temp = NULL;
+#if defined(WIN32)
+ DWORD result;
+#else
+ struct stat statbuf;
+ int rc;
+#endif
+
+ temp = (char *) malloc(strlen(root) + strlen(JRE_TEST_FILE) + 1);
+
+ if (temp == NULL) {
+ return -1;
+ }
+
+ strcpy(temp, root);
+ strcat(temp, JRE_TEST_FILE);
+
+#if defined(WIN32)
+ result = GetFileAttributes((LPCTSTR) temp);
+ free(temp);
+ return result == 0xFFFFFFFF ? 0 : 1;
+#else
+ rc = lstat(temp, &statbuf);
+ free(temp);
+ return rc == -1 ? 0 : 1;
+#endif
+}