File resplen.patch of Package xjdic

diff -ru xjdic.orig/xjdfrontend.c xjdic/xjdfrontend.c
--- xjdic.orig/xjdfrontend.c	2003-09-18 14:56:09.000000000 +0200
+++ xjdic/xjdfrontend.c	2003-09-18 14:57:06.000000000 +0200
@@ -1129,7 +1129,7 @@
 {
 
 	int xjresp,roff,rlen;
-	unsigned char repstr[512];
+	unsigned char repstr[RESPLEN];
 	long respos;
 	int hit,schix;
 	unsigned char khi,klo,cc,ops[4];
@@ -1319,7 +1319,7 @@
 	unsigned char vlast[11],temp[11],ops[80];
 	int vi,vok,prevch,KDNSflag,KDskip,KTest;
 	int xjresp,roff,rlen;
-	unsigned char repstr[512];
+	unsigned char repstr[RESPLEN];
 	unsigned long respos;
 
 	vlast[0] = 0;
diff -ru xjdic.orig/xjdic.h xjdic/xjdic.h
--- xjdic.orig/xjdic.h	2003-05-28 07:54:29.000000000 +0200
+++ xjdic/xjdic.h	2003-09-18 14:58:25.000000000 +0200
@@ -18,6 +18,7 @@
 #define RADLOOKLIM 2*20		/*threshold for displaying results of radical
 				  lookup (default 20)	*/
 #define MAXITER 40		/*maximum binary search iterations*/
+#define RESPLEN 1024		/*maximum length of dictionary entry*/
 
 /* The following is for Solarises   */
 
@@ -66,5 +67,5 @@
 	short		xjdrsp_hitposn;
 	short		xjdrsp_reslen;
 	long	xjdrsp_dicloc;
-	unsigned char	xjdrsp_resstr[512];
+	unsigned char	xjdrsp_resstr[1024];
 	} RSP_PDU;
diff -ru xjdic.orig/xjdsa.c xjdic/xjdsa.c
--- xjdic.orig/xjdsa.c	1998-08-30 02:31:20.000000000 +0200
+++ xjdic/xjdsa.c	2003-09-18 14:57:06.000000000 +0200
@@ -186,10 +186,10 @@
 	*dic_loc = schix;
 	for (i = 0; dbchar(schix+i) != 0x0a; i++)
 	{
-		if (i == 512)
+		if (i == RESPLEN)
 		{
-			printf ("Reply overrun\n");
-			exit(1);
+			printf ("Entry length exceeded\n");
+			break;
 		}
 		res_str[i] = dbchar(schix+i);
 	}
diff -ru xjdic.orig/xjdserver.c xjdic/xjdserver.c
--- xjdic.orig/xjdserver.c	2003-05-28 07:58:02.000000000 +0200
+++ xjdic/xjdserver.c	2003-09-18 14:57:06.000000000 +0200
@@ -132,7 +132,7 @@
 			ntohs(pdu_out.xjdrsp_reslen),
 			pdu_out.xjdrsp_resstr,
 			temp);
-	i = sendto (sock, (RSP_PDU *) &pdu_out, sizeof(pdu_out)-512+strlen(pdu_out.xjdrsp_resstr)+1,
+	i = sendto (sock, (RSP_PDU *) &pdu_out, sizeof(pdu_out)-RESPLEN+strlen(pdu_out.xjdrsp_resstr)+1,
 			0, (struct sockaddr *)&fsin, sizeof(fsin));
 	if (i < 0)
 	{