summaryrefslogtreecommitdiff
path: root/src/terminfo.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-03-22 18:01:59 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-03-22 18:01:59 -0700
commitc9c49752e15c105ded153e9ab0a42743f57184e5 (patch)
treee395db95d87459082bace9fcf3a2cec0ea3d1aea /src/terminfo.c
parent9d0da923ebd2b78abb6e02f0b90cfe9d818eb301 (diff)
parentb9b4b7cb4c27f9f6ad644168f0e1241e5c0d6eaa (diff)
downloademacs-c9c49752e15c105ded153e9ab0a42743f57184e5.tar.gz
emacs-c9c49752e15c105ded153e9ab0a42743f57184e5.tar.bz2
emacs-c9c49752e15c105ded153e9ab0a42743f57184e5.zip
Fix more problems found by GCC 4.5.2's static checks.
Diffstat (limited to 'src/terminfo.c')
-rw-r--r--src/terminfo.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/terminfo.c b/src/terminfo.c
index 905a8edacc7..c0418984efa 100644
--- a/src/terminfo.c
+++ b/src/terminfo.c
@@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include "tparam.h"
+
#include <setjmp.h>
#include "lisp.h"
@@ -33,18 +35,19 @@ char *UP, *BC, PC;
format is different too.
*/
+extern char *tparm (const char *str, ...);
+
+
char *
-tparam (char *string, char *outstring,
- int len, int arg1, int arg2, int arg3, int arg4,
- int arg5, int arg6, int arg7, int arg8, int arg9)
+tparam (const char *string, char *outstring, int len,
+ int arg1, int arg2, int arg3, int arg4)
{
char *temp;
- extern char *tparm (char *str, ...);
- temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
- if (outstring == 0)
- outstring = ((char *) (xmalloc ((strlen (temp)) + 1)));
- strcpy (outstring, temp);
- return outstring;
-}
+ /* Emacs always should pass a null OUTSTRING and zero LEN. */
+ if (outstring || len)
+ abort ();
+ temp = tparm (string, arg1, arg2, arg3, arg4);
+ return xstrdup (temp);
+}