Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37568431
en ru br
Репозитории ALT
S:1.08-alt4.2
5.1: 1.08-alt1
www.altlinux.org/Changes

Группа :: Разработка/Perl
Пакет: perl-Newt

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: newt-perl-1.08-xs.patch
Скачать


--- Newt-1.08/Newt.xs.exes	2006-11-15 16:18:19.000000000 +0000
+++ Newt-1.08/Newt.xs	2006-11-15 16:20:20.000000000 +0000
@@ -64,14 +64,6 @@
 		perl_call_sv(perl_suspend_cb, G_DISCARD | G_NOARGS);	
 }
 
-static int
-not_here(s)
-char *s;
-{
-    croak("%s not implemented on this architecture", s);
-    return -1;
-}
-
 static double
 constant(name, arg)
 char *name;
@@ -94,12 +86,6 @@
     case 'G':
 	break;
     case 'H':
-	if (strEQ(name, "H_NEWT"))
-#ifdef H_NEWT
-	    return H_NEWT;
-#else
-	    goto not_there;
-#endif
 	break;
     case 'I':
 	break;
@@ -706,10 +692,6 @@
 	int		arg
 
 
-void
-va_end(arg0)
-	__gnuc_va_list	arg0
-
 int
 newtInit()
 
@@ -720,10 +702,6 @@
 newtCls()
 
 void
-newtResizeScreen(redraw)
-	int	redraw
-
-void
 newtWaitForKey()
 
 void
@@ -857,11 +835,6 @@
 newtRadioGetCurrent(setMember)
 	newtComponent	setMember
 
-void
-newtGetScreenSize(cols, rows)
-	int *	cols
-	int *	rows
-
 newtComponent
 newtLabel(left, top, text)
 	int	left
@@ -894,13 +867,11 @@
 	int	height
 	int	flags
 
-long
+SV *
 newtListboxGetCurrent(co)
 	newtComponent	co
-	CODE:
-		RETVAL = (long) newtListboxGetCurrent(co);
-	OUTPUT:
-		RETVAL
+	PPCODE:
+		XPUSHs(sv_2mortal(newSVsv((SV *)newtListboxGetCurrent(co))));
 
 void
 newtListboxSetCurrent(co, num)
@@ -927,25 +898,48 @@
 newtListboxSetData(co, num, data)
 	newtComponent	co
 	int	num
-	void *	data
+	SV *    data
+	PREINIT:
+	char *  text;
+	void *  old;
+	PPCODE:
+		newtListboxGetEntry(co, num, &text, &old);
+		if (old) SvREFCNT_dec((SV *) old);
+		newtListboxSetData(co, num, data);
+		SvREFCNT_inc(data);
 
 int
 newtListboxAppendEntry(co, text, data)
 	newtComponent	co
 	char *	text
 	SV *	data
-	
+	CODE:
+		RETVAL = newtListboxAppendEntry(co, text, data);
+		if (!RETVAL) SvREFCNT_inc(data);
+	OUTPUT:
+		RETVAL
+
 int
 newtListboxInsertEntry(co, text, data, key)
 	newtComponent	co
 	char *	text
 	SV *	data
 	SV *	key
+	CODE:
+		RETVAL = newtListboxInsertEntry(co, text, data, key);
+		if (!RETVAL) SvREFCNT_inc(data);
+	OUTPUT:
+		RETVAL
 
 int
 newtListboxDeleteEntry(co, data)
 	newtComponent	co
 	SV *	data
+	CODE:
+		RETVAL = newtListboxDeleteEntry(co, data);
+		if (!RETVAL) SvREFCNT_dec(data);
+	OUTPUT:
+		RETVAL
 
 
 void
@@ -979,8 +973,8 @@
 void
 newtListboxSelectItem(co, key, sense)
 	newtComponent	co
-	void *	key
-	int	sense
+	SV *	key
+	enum newtFlagsSense	sense
 
 newtComponent
 newtCheckboxTree(left, top, height, flags)
@@ -1094,9 +1088,14 @@
 newtFormSetSize(co)
 	newtComponent	co
 
-newtComponent
+void
 newtFormGetCurrent(co)
 	newtComponent	co
+	PREINIT:
+		SV sv; /* joe: do I need this? just copying newtFormRun */
+	PPCODE:
+		XPUSHs(sv_2mortal(sv_setref_pv(newSViv(0), "newtComponent",
+				 (void*)newtFormGetCurrent(co))));
 
 void
 newtFormSetBackground(co, color)
@@ -1313,12 +1312,6 @@
 	int	recurse
 
 newtGrid
-newtButtonBarv(button1, b1comp, args)
-	char *	button1
-	newtComponent *	b1comp
-	va_list	args
-
-newtGrid
 newtButtonBar(button1, b1comp, ...)
 	char *	button1
 	newtComponent *	b1comp
@@ -1329,13 +1322,6 @@
 	char *	buttonText
 	char *	text
 
-void
-newtWinMessagev(title, buttonText, text, argv)
-	char *	title
-	char *	buttonText
-	char *	text
-	va_list	argv
-
 int
 newtWinChoice(title, button1, button2, text, ...)
 	char *	title
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin