[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29657] Bug#JP/1489: Re: fail to port; ne
Package: ne
Version: 3.05-1
From: NOSHIRO Shigeo <n@xxxxxxxxx>
Subject: [debian-devel:14536] Re: fail to port; ne
Date: Sat, 25 Aug 2001 09:53:14 +0900
> のしろです。
>
> つい先ほど、 New upstream releaseをとり込み ne_3.05-1をduploadしました。
> これでどうでしょう?
これでやってみましたが,やはり
gcc -c menu.c
menu.c: In function `makev_proc':
menu.c:108: incompatible types in assignment
menu.c:115: incompatible types in assignment
make[2]: *** [menu.o] エラー 1
make[2]: Leaving directory `/home/kohda/work/Port/ne-3.05/src'
になりました ^^;
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Subject: [debian-devel:14535] Re: fail to port; ne
Date: Fri, 24 Aug 2001 21:43:33 +0900
> ANSI な va_start, va_end でどうでしょう?
を試したら build できるようです。3.05 用にちょっと修正
しましたが,こんなものでしょうか?
--- ne-3.05.orig/src/ed.h
+++ ne-3.05/src/ed.h
@@ -280,7 +280,7 @@
dspreg_t *drp;
} menu_t;
-extern void menu_itemmake(menu_t *mnp,void func(int,mitem_t *,void *),size_t nums,void *vp);
+extern void menu_itemmake(menu_t *mnp,void func(int,mitem_t *,...),size_t nums,void *vp);
extern void menu_itemmakelists(menu_t *mnp,size_t width,size_t num,char *s);
extern void menu_iteminit(menu_t *mnp);
extern void menu_itemfin(menu_t *mnp);
--- ne-3.05.orig/src/filer.c
+++ ne-3.05/src/filer.c
@@ -78,7 +78,7 @@
} fop_t;
#endif
-
+#include <stdarg.h>
@@ -498,13 +498,16 @@
sprintf(s,"%4d%c", (int)n, *scale);
}
-static void fw_item_proc(int a,mitem_t *mip,void *vp)
+static void fw_item_proc(int a,mitem_t *mip,...)
{
char buf[MAXLINESTR+1];
char *s,*p;
fw_t *fwp;
- fwp=vp;
+ va_list args;
+
+ va_start(args, mip);
+ fwp=va_arg(args,fw_t *);
s=mip->str;
strjfcpy(s, fwp->findex[a]->fn, MAXLINESTR, fwp->menu.drp->sizex-30);
@@ -540,6 +543,7 @@
strftime(buf,15,"%y/%m/%d %R", localtime(&fwp->findex[a]->stat.st_mtime));
sprintf(s+strlen(s), " %s",buf);
+ va_end(args);
}
void fw_make(fw_t *fwp)
--- ne-3.05.orig/src/menu.c
+++ ne-3.05/src/menu.c
@@ -48,7 +48,7 @@
}
}
-void menu_itemmake(menu_t *mnp,void func(int,mitem_t *,void *),size_t nums,void *vp)
+void menu_itemmake(menu_t *mnp,void func(int,mitem_t *,...),size_t nums,void *vp)
{
int i;
int ln;
@@ -81,12 +81,15 @@
char *s;
} itemstr_t;
-void makelists_proc(int a,mitem_t *mip,void *vp)
+void makelists_proc(int a,mitem_t *mip,...)
{
itemstr_t *isp;
+ va_list args;
- isp=vp;
+ va_start(args,mip);
+ isp=va_arg(args,itemstr_t *);
strcpy(mip->str, isp->s +isp->width*a);
+ va_end(args);
}
void menu_itemmakelists(menu_t *mnp,size_t width,size_t num,char *s)
@@ -100,19 +103,19 @@
menu_itemmake(mnp, makelists_proc, num, &is);
}
-void makev_proc(int a, mitem_t *mip, void *vp)
+void makev_proc(int a, mitem_t *mip,...)
{
va_list args;
char *p;
- args=*(va_list *)vp;
+ va_start(args,mip);
p=va_arg(args, char *);
if (p==NULL)
strcpy(mip->str,"null"); else
strcpy(mip->str,p);
- *(va_list *)vp=args;
+ va_end(args);
}
--- ne-3.05.orig/src/setopt.c
+++ ne-3.05/src/setopt.c
@@ -12,6 +12,7 @@
#include "ed.h"
#include "sh.h"
#include <ctype.h>
+#include <stdarg.h>
extern keydef_t keydef[MAX_region][MAXKEYDEF];
@@ -326,11 +327,14 @@
-void option_set_proc(int a,mitem_t *mip,void *vp) // !!!!
+void option_set_proc(int a,mitem_t *mip,...) // !!!!
{
char *opt_kc[]={"euc","jis","sjis"};
char *opt_rm[]={"lf","crlf","cr"};
+ va_list args;
+ va_start(args,mip);
+
switch(a)
{
case 0:
@@ -373,6 +377,7 @@
sprintf(mip->str, "%s%-12d", OPT_TAB_STOP_MSG, atoi(hash_get(sysinfo.vp_def, "TabStop")));
break;
}
+ va_end(args);
}
平成13年8月27日(月)
--
***************************
香田 温人(こうだ あつひと)
http://www1.pm.tokushima-u.ac.jp/%7Ekohda/