diffstat for zh-autoconvert-0.3.16 zh-autoconvert-0.3.16

 changelog                |    8 
 patches/018-gcc-15.patch |  498 +++++++++++++++++++++++++++++++++++++++++++++++
 patches/series           |    1 
 3 files changed, 507 insertions(+)

diff -Nru zh-autoconvert-0.3.16/debian/changelog zh-autoconvert-0.3.16/debian/changelog
--- zh-autoconvert-0.3.16/debian/changelog	2024-03-17 18:32:32.000000000 +0200
+++ zh-autoconvert-0.3.16/debian/changelog	2025-10-11 20:35:14.000000000 +0300
@@ -1,3 +1,11 @@
+zh-autoconvert (0.3.16-10.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch from LI Daobing to fix FTBFS with GCC 15.
+    (Closes: #1098198)
+
+ -- Adrian Bunk <bunk@debian.org>  Sat, 11 Oct 2025 20:35:14 +0300
+
 zh-autoconvert (0.3.16-10) unstable; urgency=medium
 
   * Team upload.
diff -Nru zh-autoconvert-0.3.16/debian/patches/018-gcc-15.patch zh-autoconvert-0.3.16/debian/patches/018-gcc-15.patch
--- zh-autoconvert-0.3.16/debian/patches/018-gcc-15.patch	1970-01-01 02:00:00.000000000 +0200
+++ zh-autoconvert-0.3.16/debian/patches/018-gcc-15.patch	2025-10-11 20:35:14.000000000 +0300
@@ -0,0 +1,498 @@
+Description: fix compile error under gcc-15
+ fix compile error under gcc-15
+Author: Daobing Li <lidaobing@gmail.com>
+Bug-Debian: https://bugs.debian.org/1098198
+Last-Update: 2025-10-02
+
+Index: zh-autoconvert/hzconvert/b2g.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/b2g.c
++++ zh-autoconvert/hzconvert/b2g.c
+@@ -36,8 +36,7 @@ extern int GtoB_count, BtoG_count;
+ #define	c1	(unsigned char)(s[0])
+ #define	c2	(unsigned char)(s[1])
+ 
+-static void g2b(s)
+-     register char *s;
++static void g2b(char* s)
+ {
+   register unsigned int i;
+ 
+@@ -55,8 +54,7 @@ static void g2b(s)
+ 	s[0] = GtoB_bad1;  s[1] = GtoB_bad2;
+ }
+ 
+-static void b2g(s)
+-     register char *s;
++static void b2g(char* s)
+ {
+   register int i;
+ 
+@@ -77,12 +75,11 @@ static void b2g(s)
+ #undef c1
+ #undef c2
+ 
+-extern char *hzconvert ();
++extern char *hzconvert (char *s, int *plen, char *psaved, void (*dbcvrt)(char*));
+ static char gb2big_savec[MAX_MODULE];
+ static char big2gb_savec[MAX_MODULE];
+ 
+-int gb2big_init (arg)
+-     char *arg;
++int gb2big_init (char* arg)
+ {
+ /*
+   static int gb2big_inst = 0;
+@@ -97,8 +94,7 @@ int gb2big_init (arg)
+ 
+ }
+ 
+-int big2gb_init (arg)
+-     char *arg;
++int big2gb_init (char* arg)
+ {
+ /*
+   static int big2gb_inst = 0;
+@@ -112,18 +108,12 @@ int big2gb_init (arg)
+ 	return (i++);
+ }
+ 
+-char *gb2big (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *gb2big (char *s, int *plen, int inst)
+ {
+ 	return (hzconvert (s, plen, &gb2big_savec[inst], g2b));
+ }
+ 
+-char *big2gb (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *big2gb (char* s, int *plen, int inst)
+ {
+ 	return (hzconvert (s, plen, &big2gb_savec[inst], b2g));
+ }
+Index: zh-autoconvert/include/hz.h
+===================================================================
+--- zh-autoconvert.orig/include/hz.h
++++ zh-autoconvert/include/hz.h
+@@ -36,22 +36,32 @@ Boston, MA  02111-1307, USA.
+ 
+ #define MAX_BUFFER	8192
+ 
+-char *hz2gb(),*gb2hz();				/* hz2gb.c */
+-int   hz2gb_init(),gb2hz_init();
+-
+-char *gb2big(), *big2gb();		/* b2g.c */
+-int gb2big_init(), big2gb_init();	/* b2g.c */
+-
+-char *uni_utf8(), *utf8_uni();		/* unicode.c */
+-int uni_utf8_init(), utf8_uni_init();	/* unicode.c */
+-char *uni_utf7(), *utf7_uni();		/* unicode.c */
+-int uni_utf7_init(), utf7_uni_init();	/* unicode.c */
+-
+-char *gb2uni(), *uni2gb();		/* g2u.c */
+-int gb2uni_init(), uni2gb_init();	/* g2u.c */
+-
+-char *big2uni(), *uni2big();		/* b2u.c */
+-int big2uni_init(), uni2big_init();	/* b2u.c */
++char *hz2gb (char* s,int* plen,int inst);
++char *gb2hz (char* s,int* plen, int inst);
++int   hz2gb_init(char*);
++int   gb2hz_init(char*); /* hz2gb.c */
++
++char *gb2big (char *s, int *plen, int inst);
++char *big2gb (char* s, int *plen, int inst);
++int gb2big_init(char*);
++int big2gb_init(char*);	/* b2g.c */
++
++char *utf8_uni (char* s, int* plen, int inst);
++char *uni_utf8 (char* s, int* plen, int inst);
++int uni_utf8_init(char* ), utf8_uni_init(char*);	/* unicode.c */
++char *utf7_uni (char *s, int *plen, int inst);
++char *uni_utf7 (char* s,int* plen,int inst);
++int uni_utf7_init(char* ), utf7_uni_init(char*);	/* unicode.c */
++
++char *gb2uni(char* s, int* plen, int inst);
++char *uni2gb(char* s, int* plen, int inst);
++int gb2uni_init(char* arg);
++int uni2gb_init(char* arg);	/* g2u.c */
++
++char *big2uni(char* s, int* plen, int inst);
++char *uni2big(char* s, int* plen, int inst);
++int big2uni_init(char* arg);
++int uni2big_init(char* arg);	/* b2u.c */
+ 
+ int j_code(char * buff,int count); 	/* lib.c */
+ 
+Index: zh-autoconvert/hzconvert/io.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/io.c
++++ zh-autoconvert/hzconvert/io.c
+@@ -24,12 +24,9 @@ Boston, MA  02111-1307, USA.
+  */       
+ //$Header: /home/prog/autoconvert/hzconvert/io.c,v 1.1.1.1 2000/04/19 05:43:32 ygh Exp $
+ #include "hz.h"
+-
+-char *hzconvert (s, plen, psaved, dbcvrt)
+-     char *s;
+-     int *plen;
+-     char *psaved;		/* unprocessed char buffer pointer */
+-     void (*dbcvrt)();		/* 2-byte conversion func for a hanzi */
++/* psaved: unprocessed char buffer pointer */
++/* dbcvrt: 2-byte conversion func for a hanzi */
++char *hzconvert (char *s, int *plen, char *psaved, void (*dbcvrt)(char*))
+ {
+   char *p, *pend;
+ 
+Index: zh-autoconvert/hzconvert/b2u.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/b2u.c
++++ zh-autoconvert/hzconvert/b2u.c
+@@ -36,8 +36,7 @@ extern int BtoU_count, UtoB_count;
+ #define	c1	(unsigned char)(s[0])
+ #define	c2	(unsigned char)(s[1])
+ 
+-static void b2u(s, t)
+-     register char *s, *t;
++static void b2u(char* s, char* t)
+ {
+   register unsigned int i;
+ /*
+@@ -60,8 +59,7 @@ static void b2u(s, t)
+ //	t[0] = BtoU_bad1;  t[1] = BtoU_bad2;
+ }
+ 
+-static void u2b(s, t)
+-     register char *s, *t;
++static void u2b(char* s, char* t)
+ {
+ 	register long int i = ((c1 << 8) + c2) * 2;
+ 
+@@ -74,8 +72,7 @@ static void u2b(s, t)
+ static char big2uni_savec[MAX_MODULE];
+ static char uni2big_savec[MAX_MODULE];
+ 
+-int big2uni_init (arg)
+-     char *arg;
++int big2uni_init (char* arg)
+ {
+ /*
+   static int big2uni_inst = 0;
+@@ -90,8 +87,7 @@ int big2uni_init (arg)
+         return (i++);
+ }
+ 
+-int uni2big_init (arg)
+-     char *arg;
++int uni2big_init (char* arg)
+ {
+ /*
+   static int uni2big_inst = 0;
+@@ -105,10 +101,7 @@ int uni2big_init (arg)
+         return (i++);
+ }
+ 
+-char *big2uni (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *big2uni (char* s, int* plen, int inst)
+ {
+   char buf[MAX_BUFFER*2];	/* big enough */
+   char *s_start = s;
+@@ -145,10 +138,7 @@ char *big2uni (s,plen,inst)
+ 	return s_start;
+ }
+ 
+-char *uni2big (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *uni2big (char* s, int* plen, int inst)
+ {
+   char buf[MAX_BUFFER*2];	/* big enough */
+   char *s_start = s;
+Index: zh-autoconvert/hzconvert/g2u.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/g2u.c
++++ zh-autoconvert/hzconvert/g2u.c
+@@ -36,8 +36,7 @@ extern int GtoU_count, UtoG_count;
+ #define	c1	(unsigned char)(s[0])
+ #define	c2	(unsigned char)(s[1])
+ 
+-static void g2u(s, t)
+-     register char *s, *t;
++static void g2u(char* s, char* t)
+ {
+   register unsigned int i;
+ 
+@@ -55,8 +54,7 @@ static void g2u(s, t)
+ 	t[0] = GtoU_bad1;  t[1] = GtoU_bad2;
+ }
+ 
+-static void u2g(s, t)
+-     register char *s, *t;
++static void u2g(char* s, char* t)
+ {
+   register long int i = ((c1 << 8) + c2) * 2;
+ 
+@@ -69,8 +67,7 @@ static void u2g(s, t)
+ static char gb2uni_savec[MAX_MODULE];
+ static char uni2gb_savec[MAX_MODULE];
+ 
+-int gb2uni_init (arg)
+-     char *arg;
++int gb2uni_init (char* arg)
+ {
+ /*
+   static int gb2uni_inst = 0;
+@@ -86,8 +83,7 @@ int gb2uni_init (arg)
+         return (gb2uni_inst++);
+ }
+ 
+-int uni2gb_init (arg)
+-     char *arg;
++int uni2gb_init (char* arg)
+ {
+ /*
+   static int uni2gb_inst = 0;
+@@ -102,10 +98,7 @@ int uni2gb_init (arg)
+         return (uni2gb_inst++);
+ }
+ 
+-char *gb2uni (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *gb2uni (char* s, int* plen, int inst)
+ {
+   char buf[MAX_BUFFER*2];	/* big enough */
+   char *s_start = s;
+@@ -142,10 +135,7 @@ char *gb2uni (s,plen,inst)
+ 	return s_start;
+ }
+ 
+-char *uni2gb (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *uni2gb (char* s, int* plen, int inst)
+ {
+   char buf[MAX_BUFFER*2];	/* big enough */
+   char *s_start = s;
+Index: zh-autoconvert/hzconvert/hz2gb.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/hz2gb.c
++++ zh-autoconvert/hzconvert/hz2gb.c
+@@ -42,9 +42,7 @@ Boston, MA  02111-1307, USA.
+ static int state[MAX_MODULE];
+ static int eoln[MAX_MODULE];
+ 
+-static char hzdecode(c, inst)
+-     char c;
+-     int inst;	/* instant number */
++static char hzdecode(char c, int inst)
+ {
+ 	switch (state[inst]) {
+ 	  case S_ASC:
+@@ -127,10 +125,7 @@ static char hzdecode(c, inst)
+ 
+ 
+ 
+-char *hz2gb (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *hz2gb (char* s,int* plen,int inst)
+ {
+   int i;
+ 
+@@ -141,10 +136,7 @@ char *hz2gb (s,plen,inst)
+ 	return (s);
+ }
+ 
+-char *gb2hz (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *gb2hz (char* s,int* plen, int inst)
+ {
+   register int i;
+ 
+@@ -153,8 +145,7 @@ char *gb2hz (s,plen,inst)
+ 	return (s);
+ }
+ 
+-int hz2gb_init (arg)
+-     char *arg;
++int hz2gb_init (char* arg)
+ {
+ /*
+   static hz2gb_inst = 0;
+Index: zh-autoconvert/hzconvert/unicode.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/unicode.c
++++ zh-autoconvert/hzconvert/unicode.c
+@@ -29,10 +29,7 @@ Boston, MA  02111-1307, USA.
+ 
+ /*** UTF8 => UNICODE ***/
+ 
+-static int u8toun(p, len, pu1, pu2)
+-    unsigned char *p;
+-    int len;
+-    unsigned char *pu1, *pu2;
++static int u8toun(unsigned char* p, int len, unsigned char *pu1, unsigned char *pu2)
+ {
+   register unsigned char c1 = p[0], c2 = p[1], c3 = p[2];
+ 
+@@ -69,8 +66,7 @@ static int u8toun(p, len, pu1, pu2)
+ 
+ static char utf8_uni_savec[MAX_MODULE][2];
+ 
+-int utf8_uni_init (arg)
+-     char *arg;
++int utf8_uni_init (char* arg)
+ {
+ /*
+   static int utf8_uni_inst = 0;
+@@ -90,10 +86,7 @@ int utf8_uni_init (arg)
+ 
+ #define CODE_ERROR	0x80
+ 
+-char *utf8_uni (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *utf8_uni (char* s, int* plen, int inst)
+ {
+   char buf[MAX_BUFFER*3];
+   char *s_start = s;
+@@ -146,8 +139,7 @@ char *utf8_uni (s,plen,inst)
+ static char uni_utf8_savec[MAX_MODULE];
+ static char uni_utf8_saved[MAX_MODULE];
+ 
+-int uni_utf8_init (arg)
+-     char *arg;
++int uni_utf8_init (char* arg)
+ {
+ /*
+   static int uni_utf8_inst = 0;
+@@ -162,10 +154,7 @@ int uni_utf8_init (arg)
+ 	return (i++);
+ }
+ 
+-char *uni_utf8 (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *uni_utf8 (char* s, int* plen, int inst)
+ {
+   char buf[MAX_BUFFER*3];
+   char *s_start = s;
+@@ -253,10 +242,10 @@ struct utf7_context {
+     unsigned long bit_buffer;
+ };
+ 
+-static int u7toun(c, pu1, pu2, ctx)	/* return 1 if a unicode is produced */
+-    unsigned char c;		/* a char in utf7 stream */
+-    unsigned char *pu1, *pu2;	/* the unicode */
+-    struct utf7_context *ctx;	/* the context */
++/* c: a char in utf7 stream */
++/* pu1, pu2: the unicode */
++/* ctx: the context */
++static int u7toun(unsigned char c, unsigned char *pu1, unsigned char *pu2, struct utf7_context *ctx)	/* return 1 if a unicode is produced */
+ {
+ 	if (ctx->state == IN_ASCII) {
+ 		if (c == '+') {
+@@ -301,10 +290,7 @@ static int u7toun(c, pu1, pu2, ctx)	/* r
+ 	return 0;
+ }
+ 
+-static int untou7(u1, u2, s, ctx)	/* return the # of char written to s */
+-    unsigned char u1, u2;	/* the unicode */
+-    unsigned char *s;		/* store here */
+-    struct utf7_context *ctx;	/* the context */
++static int untou7(unsigned char u1, unsigned char u2, unsigned char *s, struct utf7_context *ctx)	/* return the # of char written to s */
+ {
+   unsigned char *prev_s = s;
+ 
+@@ -344,8 +330,7 @@ static int untou7(u1, u2, s, ctx)	/* ret
+ 
+ static struct utf7_context utf7_uni_context[MAX_MODULE];
+ 
+-int utf7_uni_init (arg)
+-     char *arg;
++int utf7_uni_init (char *arg)
+ {
+ /*
+   static int utf7_uni_inst = 0;
+@@ -366,10 +351,7 @@ int utf7_uni_init (arg)
+ 	return (i++);
+ }
+ 
+-char *utf7_uni (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *utf7_uni (char *s, int *plen, int inst)
+ {
+   char buf[MAX_BUFFER*3];
+   char *s_start = s;
+@@ -395,8 +377,7 @@ static char uni_utf7_savec[MAX_MODULE];
+ static char uni_utf7_saved[MAX_MODULE];
+ static struct utf7_context uni_utf7_context[MAX_MODULE];
+ 
+-int uni_utf7_init (arg)
+-     char *arg;
++int uni_utf7_init (char* arg)
+ {
+ /*
+   static int uni_utf7_inst = 0;
+@@ -418,10 +399,7 @@ int uni_utf7_init (arg)
+ 	return (i++);
+ }
+ 
+-char *uni_utf7 (s,plen,inst)
+-     char *s;
+-     int *plen;
+-     int inst;
++char *uni_utf7 (char* s,int* plen,int inst)
+ {
+   char buf[MAX_BUFFER*3];
+   char *s_start = s;
+Index: zh-autoconvert/hzconvert/search.c
+===================================================================
+--- zh-autoconvert.orig/hzconvert/search.c
++++ zh-autoconvert/hzconvert/search.c
+@@ -26,8 +26,8 @@ Boston, MA  02111-1307, USA.
+ struct c_modules{
+ 	int from;
+ 	int to;
+-	char* (*pfun_convert)();
+-	int (*pfun_init)();
++	char* (*pfun_convert)(char *,int* ,int );
++	int (*pfun_init)(char*);
+ 	int  distance;
+ 	int  skip;
+ };
+@@ -47,7 +47,7 @@ int tos=0;
+ 
+ struct c_modules clist[MAX];
+ 
+-void assert_module(int from,int to,char* (*convert)(),int (*init)(),int dist)
++void assert_module(int from,int to,char* (*convert)(char *,int* ,int),int (*init)(char*),int dist)
+ {
+ 	if(num_modules<MAX){
+ 		clist[num_modules].from=from;
+@@ -86,7 +86,7 @@ void hz_init()
+ 	tos=0;
+ 
+ 	for(i=0;i<num_modules;i++){
+-		clist[i].pfun_init();
++		clist[i].pfun_init(NULL);
+ 		clist[i].skip=0;
+ 	}
+ 	
diff -Nru zh-autoconvert-0.3.16/debian/patches/series zh-autoconvert-0.3.16/debian/patches/series
--- zh-autoconvert-0.3.16/debian/patches/series	2024-03-17 18:32:05.000000000 +0200
+++ zh-autoconvert-0.3.16/debian/patches/series	2025-10-11 20:35:14.000000000 +0300
@@ -15,3 +15,4 @@
 015-convert-docs-to-utf8.patch
 016-not-compile-xchat-plugin.patch
 0017-Make-function-definition-explicit.patch
+018-gcc-15.patch
