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