diff --git a/src/errors.h b/src/errors.h
index b6449129012261f5e390372784c75109344e8f7b..7d8ff63181d45ebd46da6cb1d4e060b997766904 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: errors.h,v 1.31 2005/01/20 14:29:51 nilsson Exp $
+|| $Id: errors.h,v 1.32 2005/01/21 14:32:30 mast Exp $
 */
 
 #ifdef ERR_DECLARE
@@ -81,12 +81,13 @@ struct PIKE_CONCAT(NAME,_error_struct) { \
 DECLARE_ERROR(generic, Generic, EMPTY ,
   ERR_VAR(struct pike_string *,tStr,PIKE_T_STRING,error_message)
   ERR_VAR(struct array *,tArray,PIKE_T_ARRAY,error_backtrace)
-  ERR_FUNC("cast",f_error_cast,tFunc(tString,tMixed),ID_STATIC)
-  ERR_FUNC("`[]",f_error_index,tFunc(tString,tMixed),ID_STATIC)
+  ERR_FUNC("cast",f_error_cast,tFunc(tString,tArray),ID_STATIC)
+  ERR_FUNC("`[]",f_error_index,tFunc(tInt01,tMixed),ID_STATIC)
   ERR_FUNC("describe",f_error_describe,tFunc(tVoid,tString),0)
   ERR_FUNC("message", f_error_message, tFunc(tVoid,tString), 0)
   ERR_FUNC("backtrace",f_error_backtrace,tFunc(tVoid,tArr(tMixed)),0)
-  ERR_FUNC("_sprintf",f_error__sprintf,tFunc(tNone,tString),ID_STATIC)
+  ERR_FUNC("_sprintf", f_error__sprintf,
+	   tFunc(tOr(tInt,tVoid) tOr(tMapping,tVoid),tString), ID_STATIC)
   ERR_FUNC("create",f_error_create,tFunc(tStr tOr(tVoid,tArr(tMixed)),tVoid),ID_STATIC)
 )