ports/122904: [patch] jdk15/javaws fails on amd64
Peter Jeremy
peterjeremy at optushome.com.au
Sat Apr 19 07:20:02 UTC 2008
>Number: 122904
>Category: ports
>Synopsis: [patch] jdk15/javaws fails on amd64
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Apr 19 07:20:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Peter Jeremy
>Release: 7.0-STABLE
>Organization:
n/a
>Environment:
FreeBSD turion.vk2pj.dyndns.org 7.0-STABLE FreeBSD 7.0-STABLE #21: Fri Mar 21 08:26:22 EST 2008 root at turion.vk2pj.dyndns.org:/usr/obj/usr/src/sys/turion amd64
>Description:
javaws does not work on amd64 - it searches for deploy.jar in a nonsense pathname due to pointer truncation. See the thread starting
http://lists.freebsd.org/pipermail/freebsd-java/2008-March/007267.html
The attached patches partially correct the problem (I can run a reasonably complex commercial Java GUI application, though part of the local cache pathname is junk).
Trivial applications (such as the typeahead example below) don't appear to have any problems.
>How-To-Repeat:
Run a JNLP file. eg:
fetch http://www.devdaily.com/java/misc/TypeAhead/typeahead.jnlp
sed -i '' '/codebase/s:jnlp:misc/TypeAhead:' typeahead.jnlp
javaws typeahead.jnlp
>Fix:
Patch attached with submission follows:
cat <<'End-Of-Patch' > patch-deploy:src:common:unix:native:MSystemProxyHandler.c
--- ../../deploy/src/common/unix/native/MSystemProxyHandler.c~ 2007-10-05 17:28:59.000000000 +1000
+++ ../../deploy/src/common/unix/native/MSystemProxyHandler.c 2008-03-21 15:22:10.000000000 +1100
@@ -5,12 +5,7 @@
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
-#ifdef __linux__
-#define _GNU_SOURCE
#include <string.h>
-#else
-#include <strings.h>
-#endif
#include "jni.h"
#include "com_sun_deploy_net_proxy_MSystemProxyHandler.h"
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:configurationFile.c
--- ../../deploy/src/javaws/share/native/configurationFile.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/configurationFile.c 2008-03-21 15:22:10.000000000 +1100
@@ -72,7 +72,6 @@
char *argv[10];
int buflen = 1024;
char *buf = NULL, *start, *end;
- static char path[MAXPATHLEN];
buf = (char *)malloc(buflen);
argv[0] = jre->path;
@@ -225,7 +224,6 @@
/* now see if any unconfirmed registered jres exist */
for (j=0; j<nIndices; j++) {
int index = indexArray[j].index;
- char str[256];
if (isJRERegistered(index) && (indexArray[j].confirmed == 0)) {
return_value = TRUE;
}
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:configurationFile.h
--- ../../deploy/src/javaws/share/native/configurationFile.h~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/configurationFile.h 2008-03-21 15:22:10.000000000 +1100
@@ -83,4 +83,14 @@
void SetJREEnabled(int i, char *value);
void SetJRERegistered(int i, char *value);
+
+void UpdateJREInfo (JREDescription *jre);
+int laterVersion(int index1, int index2);
+int getUniqueIndexArrayIndex();
+void addToIndexArray(int newIndex);
+char* GetJREJavaDebugCmd(int i);
+int isJREEnabled(int i);
+int laterVersion(int index1, int index2);
+int isCurrentVersion(char *javaCmd);
+
#endif
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:jpda.h
--- ../../deploy/src/javaws/share/native/jpda.h~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/jpda.h 2008-03-21 15:22:10.000000000 +1100
@@ -114,4 +114,4 @@
PortsPool* String2PortsPool (PortsPool*, char*, const char*);
int GetAvailableServerPort (PortsPool*, int);
-#endif JPDA_H
+#endif /* JPDA_H */
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:launchFile.c
--- ../../deploy/src/javaws/share/native/launchFile.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/launchFile.c 2008-03-21 15:22:10.000000000 +1100
@@ -11,6 +11,7 @@
#include "propertyParser.h"
#include "xmlparser.h"
#include <ctype.h>
+#include <wctype.h>
/* Local methods */
static void ParseXMLLaunchFile(char* s, JNLFile* jnlfile);
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:propertyParser.c
--- ../../deploy/src/javaws/share/native/propertyParser.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/propertyParser.c 2008-03-21 15:22:10.000000000 +1100
@@ -9,6 +9,7 @@
#include "util.h"
#include "propertyParser.h"
#include "configurationFile.h"
+#include <wctype.h>
/* Local methods definitions */
static char* GetNextOption(char* s, char** option, char **value);
@@ -130,7 +131,6 @@
* Parses a string buffer as a property file
*/
PropertyFileEntry* parsePropertyStream(char *s, PropertyFileEntry* head) {
- PropertyFileEntry* entry = NULL;
char* key;
char* value;
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:secure.c
--- ../../deploy/src/javaws/share/native/secure.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/secure.c 2008-03-21 15:22:10.000000000 +1100
@@ -4,6 +4,8 @@
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
+#include <string.h>
+#include "system.h"
/*
*
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:splashFile.c
--- ../../deploy/src/javaws/share/native/splashFile.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/splashFile.c 2008-03-21 15:22:10.000000000 +1100
@@ -16,7 +16,6 @@
*/
static char path1[MAXPATHLEN];
-static char path2[MAXPATHLEN];
void getDefaultSplashFiles(int playerMode, char **splash1, char **splash2) {
@@ -31,7 +30,7 @@
}
-getAppSplashFiles(JNLFile *jnlFile, char **splash1, char **splash2) {
+void getAppSplashFiles(JNLFile *jnlFile, char **splash1, char **splash2) {
/* Try to get application defined splash screen */
*splash1 = getSplashFile(jnlFile->canonicalHome);
*splash2 = NULL;
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:splashFile.h
--- ../../deploy/src/javaws/share/native/splashFile.h~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/splashFile.h 2008-03-21 15:22:10.000000000 +1100
@@ -15,7 +15,8 @@
char *getDefaultSplashFiles(int playerMode, char **splash1, char **splash2);
-char *getAppSplashFiles(JNLFile *jnlFile, char **splash1, char **splash2);
+void getAppSplashFiles(JNLFile *jnlFile, char **splash1, char **splash2);
+int endsWith(char *str1, char *str2);
#endif
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:system.c
--- ../../deploy/src/javaws/share/native/system.c~ 2008-03-21 12:46:17.000000000 +1100
+++ ../../deploy/src/javaws/share/native/system.c 2008-03-21 15:22:10.000000000 +1100
@@ -9,6 +9,10 @@
* for all platforms.
*/
#include "system.h"
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
/*
* Create a loopback socket and set it up to listen on a dynamically
@@ -19,10 +23,11 @@
{
SOCKET server;
SOCKADDR_IN iname = {0};
- int length = sizeof(iname);
+ socklen_t length = sizeof(iname);
sysInitSocketLibrary();
+ iname.sin_len = sizeof(iname);
iname.sin_family = AF_INET;
iname.sin_addr.s_addr = inet_addr("127.0.0.1");
@@ -55,10 +60,10 @@
{
SOCKET server;
SOCKADDR_IN iname = {0};
- int length = sizeof(iname);
sysInitSocketLibrary();
+ iname.sin_len = sizeof(iname);
iname.sin_family = AF_INET;
iname.sin_port = htons((u_short)port);
iname.sin_addr.s_addr = inet_addr("127.0.0.1");
@@ -90,6 +95,7 @@
sysInitSocketLibrary();
+ iname.sin_len = sizeof(iname);
iname.sin_family = AF_INET;
iname.sin_port = htons((u_short)port);
iname.sin_addr.s_addr = inet_addr("127.0.0.1");
@@ -116,10 +122,11 @@
{
SOCKET sock;
SOCKADDR_IN iname = {0};
- int length = sizeof(iname);
+ socklen_t length = sizeof(iname);
sysInitSocketLibrary();
+ iname.sin_len = sizeof(iname);
iname.sin_family = AF_INET;
iname.sin_port = htons((u_short)*port);
iname.sin_addr.s_addr = inet_addr("127.0.0.1");
@@ -318,7 +325,7 @@
i += 6;
}
- *theString++;
+ theString++;
}
return output;
@@ -330,7 +337,7 @@
if (*orig == oldChar) {
*orig = newChar;
}
- *orig++;
+ orig++;
}
}
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:system.h
--- ../../deploy/src/javaws/share/native/system.h~ 2008-03-21 12:46:17.000000000 +1100
+++ ../../deploy/src/javaws/share/native/system.h 2008-03-21 15:22:10.000000000 +1100
@@ -87,4 +87,12 @@
void sysSetEndTime (void);
void sysPrintTimeUsed (char *filename);
char* sysGetDebugJavaCmd (char *javaCmd);
+
+char* sysGetJarLib(void);
+char* sysGetJavawsResourcesLib(void);
+char* sysGetSecurityLib(void);
+void sysReplaceChar(char* orig, char oldChar, char newChar);
+int sysFindSiPort(char *canonicalHome);
+void recursive_create_directory(char *path);
+
#endif
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:versionId.c
--- ../../deploy/src/javaws/share/native/versionId.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/versionId.c 2008-03-21 15:22:10.000000000 +1100
@@ -6,6 +6,8 @@
*/
#include "versionId.h"
#include "system.h"
+#include <ctype.h>
+#include <wctype.h>
/* Parse a string to a version ID. It assumes that integers are
* used in version IDs. This might go horrible wrong, but should
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:share:native:xmlparser.c
--- ../../deploy/src/javaws/share/native/xmlparser.c~ 2007-10-05 17:29:06.000000000 +1000
+++ ../../deploy/src/javaws/share/native/xmlparser.c 2008-03-21 15:22:10.000000000 +1100
@@ -13,6 +13,7 @@
#include <sys/stat.h>
#include <ctype.h>
+#include <wctype.h>
/* Internal declarations */
static XMLNode* ParseXMLElement(void);
@@ -319,8 +320,6 @@
static XMLNode* ParseXMLElement(void) {
XMLNode* node = NULL;
- XMLNode* subnode = NULL;
- XMLNode* nextnode = NULL;
XMLAttribute* attr = NULL;
if (CurTokenType == TOKEN_BEGIN_TAG) {
@@ -490,7 +489,7 @@
if (node->_sub == NULL) {
printf("/>\n");
} else {
- printf(">", node->_name);
+ printf(">");
PrintXMLDocument(node->_sub, indt + 1);
indent(indt);
printf("</%s>", node->_name);
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:solaris:native:splash_md.c
--- ../../deploy/src/javaws/solaris/native/splash_md.c~ 2007-10-05 17:29:09.000000000 +1000
+++ ../../deploy/src/javaws/solaris/native/splash_md.c 2008-03-21 15:22:10.000000000 +1100
@@ -151,7 +151,7 @@
void splash_error_exit (j_common_ptr cinfo)
{
- struct splash_error_mgr *err = (struct splash_error_mgr *)cinfo->err;
+ /* struct splash_error_mgr *err = (struct splash_error_mgr *)cinfo->err; */
(*cinfo->err->output_message)(cinfo);
errorExit(getMsgString(MSG_SPLASH_NOIMAGE));
/* longjmp(err->setjmp_buffer, 1); */
@@ -444,7 +444,6 @@
while (cinfo->output_scanline < cinfo->output_height) {
int i;
- unsigned long packed_pixel;
jpeg_read_scanlines(cinfo, buffer, 1);
for(i = 0; i < rowWidth; i += 3) {
@@ -622,7 +621,7 @@
if (fds[1].revents & POLLIN) {
SOCKADDR_IN iname = {0};
SOCKET client;
- int length = sizeof(SOCKADDR_IN);
+ socklen_t length = sizeof(SOCKADDR_IN);
char cmd[1];
if ((client = accept(server, (SOCKADDR *)&iname, &length)) == -1) {
@@ -702,9 +701,6 @@
int port;
unsigned char* mainJPEGImageData;
unsigned char* localeJPEGImageData;
- char *localeStr;
- char filename[MAXPATHLEN];
- int i;
size_t localeSize, mainSize;
if (splashPort <= 0) {
@@ -731,7 +727,6 @@
* to the parent as a 6 character string.
*/
{
- SOCKADDR_IN iname = {0};
SOCKET parent;
char data[6];
@@ -746,7 +741,7 @@
}
/* Check for NO Splash mode */
- if (mainJPEGImageData == NULL && localeJPEGImageData == NULL) return;
+ if (mainJPEGImageData == NULL && localeJPEGImageData == NULL) return 0;
if ((display = XOpenDisplay(NULL)) == 0) {
errorExit(getMsgString(MSG_SPLASH_X11_CONNECT));
@@ -773,6 +768,7 @@
splashEventLoop(display, screen, window, server);
}
+ return 0;
}
End-Of-Patch
cat <<'End-Of-Patch' > patch-deploy:src:javaws:solaris:native:system_md.c
--- ../../deploy/src/javaws/solaris/native/system_md.c~ 2008-03-21 12:46:17.000000000 +1100
+++ ../../deploy/src/javaws/solaris/native/system_md.c 2008-03-21 15:22:10.000000000 +1100
@@ -66,8 +66,6 @@
}
void sysPrintTimeUsed(char *filename) {
- long start_us;
- long end_us;
long used_us;
char buffer[1024];
char* filepath = NULL;
@@ -173,7 +171,6 @@
int sysExec(int type, char *path, char *argv[])
{
int pid;
- char **argvp;
int ret = 0;
if (type == SYS_EXEC_REPLACE) {
@@ -181,7 +178,7 @@
} else {
if ((pid = fork()) == 0) {
- int err = execv(path, argv);
+ execv(path, argv);
/* It's neccessary to call "_exit" here, rather than exit, see
* the fork(2) manual page.
*/
@@ -300,7 +297,6 @@
/* relative path? */
if (strrchr(program, FILE_SEPARATOR) != 0) {
- char buf[MAXPATHLEN+2];
return Resolve(getcwd(cwdbuf, sizeof(cwdbuf)), program);
}
@@ -730,8 +726,6 @@
char *out = NULL, *out2 = NULL;
iconv_t cd;
size_t oleft = MAXPATHLEN*2;
- int i;
- size_t count = 0;
size_t len2 = len*2;
/* get codeset (encoding) */
End-Of-Patch
cat <<'End-Of-Patch' > patch-hotspot:src:os:bsd:launcher:java.c
--- ../../hotspot/src/os/bsd/launcher/java.c~ 2008-03-21 12:46:20.000000000 +1100
+++ ../../hotspot/src/os/bsd/launcher/java.c 2008-03-21 15:22:10.000000000 +1100
@@ -172,7 +172,7 @@
if (debug) {
end = CounterGet();
- printf("%ld micro seconds to InitializeJVM\n",
+ printf("%d micro seconds to InitializeJVM\n",
(jint)Counter2Micros(end-start));
}
@@ -420,10 +420,10 @@
if (debug) {
int i = 0;
printf("JavaVM args:\n ");
- printf("version 0x%08lx, ", args.version);
+ printf("version 0x%08x, ", args.version);
printf("ignoreUnrecognized is %s, ",
args.ignoreUnrecognized ? "JNI_TRUE" : "JNI_FALSE");
- printf("nOptions is %ld\n", args.nOptions);
+ printf("nOptions is %d\n", args.nOptions);
for (i = 0; i < numOptions; i++)
printf(" option[%2d] = '%s'\n",
i, args.options[i].optionString);
@@ -524,7 +524,7 @@
if (debug) {
end = CounterGet();
- printf("%ld micro seconds to load main class\n",
+ printf("%d micro seconds to load main class\n",
(jint)Counter2Micros(end-start));
printf("----_JAVA_LAUNCHER_DEBUG----\n");
}
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:share:back:log_messages.c
--- ../../j2se/src/share/back/log_messages.c~ 2007-10-05 17:15:41.000000000 +1000
+++ ../../j2se/src/share/back/log_messages.c 2008-03-21 15:22:10.000000000 +1100
@@ -156,10 +156,10 @@
module = "jdwp"; /* FIXUP? */
messageID = ""; /* FIXUP: Unique message string ID? */
(void)snprintf(optional, sizeof(optional),
- "LOC=%s;PID=%d;THR=t@%d",
+ "LOC=%s;PID=%d;THR=t@%ld",
location_stamp,
(int)processPid,
- (int)tid);
+ (long int)tid);
/* Construct message string. */
va_start(ap, format);
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:share:classes:sun:jdbc:odbc:JdbcOdbc.c
--- ../../j2se/src/share/classes/sun/jdbc/odbc/JdbcOdbc.c~ 2008-03-21 12:46:27.000000000 +1100
+++ ../../j2se/src/share/classes/sun/jdbc/odbc/JdbcOdbc.c 2008-03-21 15:22:10.000000000 +1100
@@ -4858,7 +4858,7 @@
memcpy(&dt, dataBufArr, sizeof(dt));
- if (dataBufArr) sprintf (pValue, "%04i-%02i-%02i %02i:%02i:%02i.%09li",
+ if (dataBufArr) sprintf (pValue, "%04i-%02i-%02i %02i:%02i:%02i.%09lu",
dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.fraction);
(*env)->ReleaseByteArrayElements(env, dataBuf, dataBufArr, 0);
@@ -5072,7 +5072,7 @@
tm.year, tm.month, tm.day, tm.hour,
tm.minute, tm.second);
if (tm.fraction != 0) {
- sprintf (&pValue[strlen ((LPCSTR) pValue)], ".%09li",
+ sprintf (&pValue[strlen ((LPCSTR) pValue)], ".%09lu",
tm.fraction);
}
}
@@ -5449,7 +5449,7 @@
UCHAR* errCode = (UCHAR*) (*env)->GetByteArrayElements(env, errorCode, 0);
RETCODE rc;
- UDWORD pBuf;
+ char * pBuf;
jint param = -1;
int i=0;
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:share:native:com:sun:java:util:jar:pack:unpack.cpp
--- ../../j2se/src/share/native/com/sun/java/util/jar/pack/unpack.cpp.orig 2007-10-05 17:22:36.000000000 +1000
+++ ../../j2se/src/share/native/com/sun/java/util/jar/pack/unpack.cpp 2008-03-21 18:14:29.000000000 +1100
@@ -19,7 +19,7 @@
#include <limits.h>
#include <time.h>
-
+#include <sys/stdint.h>
#include "defines.h"
@@ -3186,7 +3186,7 @@
case CONSTANT_Long:
case CONSTANT_Double:
buf = getbuf(24);
- sprintf((char*)buf.ptr, "0x%016llx", value.l);
+ sprintf((char*)buf.ptr, "0x%016jx", (uintmax_t)value.l);
break;
default:
if (nrefs == 0) {
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:share:native:sun:awt:cmm:splut.c
--- ../../j2se/src/share/native/sun/awt/cmm/splut.c~ 2007-10-05 17:22:54.000000000 +1000
+++ ../../j2se/src/share/native/sun/awt/cmm/splut.c 2008-03-21 15:22:10.000000000 +1100
@@ -29,7 +29,7 @@
#if defined(_M_IA64)
#define INTPTR __int64
#else
- #define INTPTR int
+ #define INTPTR long int
#endif
/* Prototypes */
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:share:native:sun:font:t2k:shapet.c
--- ../../j2se/src/share/native/sun/font/t2k/shapet.c~ 2007-10-05 17:23:13.000000000 +1000
+++ ../../j2se/src/share/native/sun/font/t2k/shapet.c 2008-03-21 15:22:10.000000000 +1100
@@ -151,8 +151,10 @@
tt_int32 countLessPhantoms, F26Dot6 *x, F26Dot6 *y, F26Dot6 boldLeftOffsetDot6, F26Dot6 boldIntegerAdvanceDot6)
{
tt_int32 n=countLessPhantoms,i;
- for (i=0;i<n;i++)
- *x++= *x + boldLeftOffsetDot6;
+ for (i=0;i<n;i++) {
+ *x = *x + boldLeftOffsetDot6;
+ x++;
+ }
x++; /* skip over phantom for left side bearing- should remain 0,0 */
* x = *x+boldIntegerAdvanceDot6; /* add integer advance. */
}
@@ -628,8 +630,10 @@
)
{
tt_int32 index; /* loop through all points. */
- for (index=0;index<count;index++)
- *xValues++=F26Dot6Fix28MulRoundSlant(*xValues, *yValues++,italicMultiplier);
+ for (index=0;index<count;index++) {
+ *xValues=F26Dot6Fix28MulRoundSlant(*xValues, *yValues++,italicMultiplier);
+ xValues++;
+ }
}
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:share:native:sun:font:t2k:t2k.c
--- ../../j2se/src/share/native/sun/font/t2k/t2k.c~ 2007-10-05 17:23:13.000000000 +1000
+++ ../../j2se/src/share/native/sun/font/t2k/t2k.c 2008-03-21 15:22:10.000000000 +1100
@@ -671,8 +671,10 @@
F16Dot16 t11 = xfrm->t11;
if ( t01 == 0 && t10 == 0 ) {
for ( i = 0; i < count; i++ ) {
- *xPtr++ = util_FixMul( * xPtr, t00);
- *yPtr++ = util_FixMul( * yPtr, t11);
+ *xPtr = util_FixMul( * xPtr, t00);
+ *yPtr = util_FixMul( * yPtr, t11);
+ xPtr++;
+ yPtr++;
}
}
else {
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:solaris:native:java:util:TimeZone_md.c
--- ../../j2se/src/solaris/native/java/util/TimeZone_md.c~ 2008-03-21 12:46:32.000000000 +1100
+++ ../../j2se/src/solaris/native/java/util/TimeZone_md.c 2008-03-21 15:22:10.000000000 +1100
@@ -566,10 +566,10 @@
local_tm = localtime(&clock);
if (local_tm->tm_gmtoff >= 0) {
offset = (time_t) local_tm->tm_gmtoff;
- sign = "+";
+ sign = '+';
} else {
offset = (time_t) -local_tm->tm_gmtoff;
- sign = "-";
+ sign = '-';
}
#else
if (timezone == 0) {
End-Of-Patch
cat <<'End-Of-Patch' > patch-j2se:src:solaris:native:sun:net:spi:DefaultProxySelector.c
--- ../../j2se/src/solaris/native/sun/net/spi/DefaultProxySelector.c~ 2007-10-05 17:24:30.000000000 +1000
+++ ../../j2se/src/solaris/native/sun/net/spi/DefaultProxySelector.c 2008-03-21 15:22:10.000000000 +1100
@@ -12,11 +12,7 @@
#include "sun_net_spi_DefaultProxySelector.h"
#include <dlfcn.h>
#include <stdio.h>
-#ifdef __linux__
#include <string.h>
-#else
-#include <strings.h>
-#endif
/**
* These functions are used by the sun.net.spi.DefaultProxySelector class
End-Of-Patch
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list