diff --git a/panel/llib-lpaneltw b/panel/llib-lpaneltw
index efa4175..0b99683 100644
--- a/panel/llib-lpaneltw
+++ b/panel/llib-lpaneltw
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 2010-2010,2015 Free Software Foundation, Inc.              *
+ * Copyright 2020,2021 Thomas E. Dickey                                     *
+ * Copyright 2010,2015 Free Software Foundation, Inc.                       *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -42,19 +43,20 @@
 
 #undef _nc_my_visbuf
 const char *_nc_my_visbuf(
-		const void *ptr)
+		const void *ptr,
+		int	n)
 		{ return(*(const char **)0); }
 
 #undef _nc_dPanel
 void	_nc_dPanel(
-		const char *text, 
+		const char *text,
 		const PANEL *pan)
 		{ /* void */ }
 
 #undef _nc_dStack
 void	_nc_dStack(
-		const char *fmt, 
-		int	num, 
+		const char *fmt,
+		int	num,
 		const PANEL *pan)
 		{ /* void */ }
 
@@ -70,8 +72,8 @@
 
 #undef _nc_Touchline
 void	_nc_Touchline(
-		const PANEL *pan, 
-		int	start, 
+		const PANEL *pan,
+		int	start,
 		int	count)
 		{ /* void */ }
 
@@ -131,8 +133,8 @@
 
 #undef move_panel
 int	move_panel(
-		PANEL	*pan, 
-		int	starty, 
+		PANEL	*pan,
+		int	starty,
 		int	startx)
 		{ return(*(int *)0); }
 
@@ -147,7 +149,7 @@
 
 #undef replace_panel
 int	replace_panel(
-		PANEL	*pan, 
+		PANEL	*pan,
 		WINDOW	*win)
 		{ return(*(int *)0); }
 
@@ -180,7 +182,7 @@
 
 #undef set_panel_userptr
 int	set_panel_userptr(
-		PANEL	*pan, 
+		PANEL	*pan,
 		const void *uptr)
 		{ return(*(int *)0); }
 
