* error.c (Init_syserr): moved to the template.
(errno_missing): removed. fixed [ruby-dev:35958]. * defs/knwon_errors.def: added. extracted from Init_syserr. * templates/known_errors.inc.tmpl: added. Template for Init_syserr. c.f. [ruby-dev:35958]. * tools/generic_erb.rb: added. general purpose mapper which maps data+template into source code. * common.mk (error.$(OBJEXT), incs, known_errors.inc): Fixed dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9ea58e6421
commit
16c95b42ce
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
|||||||
|
Fri Sep 26 17:07:04 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
|
||||||
|
|
||||||
|
* error.c (Init_syserr): moved to the template.
|
||||||
|
(errno_missing): removed. fixed [ruby-dev:35958].
|
||||||
|
|
||||||
|
* defs/knwon_errors.def: added. extracted from Init_syserr.
|
||||||
|
|
||||||
|
* templates/known_errors.inc.tmpl: added. Template for Init_syserr.
|
||||||
|
c.f. [ruby-dev:35958].
|
||||||
|
|
||||||
|
* tools/generic_erb.rb: added. general purpose mapper which maps
|
||||||
|
data+template into source code.
|
||||||
|
|
||||||
|
* common.mk (error.$(OBJEXT), incs, known_errors.inc):
|
||||||
|
Fixed dependencies.
|
||||||
|
|
||||||
Fri Sep 26 17:02:04 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Fri Sep 26 17:02:04 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* thread.c (thlist_signal): clears the woken thread if nothing woke.
|
* thread.c (thlist_signal): clears the woken thread if nothing woke.
|
||||||
|
@ -462,7 +462,7 @@ encoding.$(OBJEXT): {$(VPATH)}encoding.c $(RUBY_H_INCLUDES) \
|
|||||||
enum.$(OBJEXT): {$(VPATH)}enum.c $(RUBY_H_INCLUDES) {$(VPATH)}node.h \
|
enum.$(OBJEXT): {$(VPATH)}enum.c $(RUBY_H_INCLUDES) {$(VPATH)}node.h \
|
||||||
{$(VPATH)}util.h
|
{$(VPATH)}util.h
|
||||||
enumerator.$(OBJEXT): {$(VPATH)}enumerator.c $(RUBY_H_INCLUDES)
|
enumerator.$(OBJEXT): {$(VPATH)}enumerator.c $(RUBY_H_INCLUDES)
|
||||||
error.$(OBJEXT): {$(VPATH)}error.c $(RUBY_H_INCLUDES) \
|
error.$(OBJEXT): {$(VPATH)}error.c {$(VPATH)}known_errors.inc $(RUBY_H_INCLUDES) \
|
||||||
$(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}parse.y
|
$(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}parse.y
|
||||||
eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h \
|
eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h \
|
||||||
$(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}eval_error.c \
|
$(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}eval_error.c \
|
||||||
@ -629,7 +629,7 @@ srcs: {$(VPATH)}parse.c {$(VPATH)}lex.c {$(VPATH)}newline.c $(srcdir)/ext/ripper
|
|||||||
srcs-enc: $(ENC_MK)
|
srcs-enc: $(ENC_MK)
|
||||||
$(MAKE) -f $(ENC_MK) RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(MFLAGS) srcs
|
$(MAKE) -f $(ENC_MK) RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(MFLAGS) srcs
|
||||||
|
|
||||||
incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}encdb.h {$(VPATH)}transdb.h $(srcdir)/revision.h
|
incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}encdb.h {$(VPATH)}transdb.h {$(VPATH)}known_errors.inc $(srcdir)/revision.h
|
||||||
|
|
||||||
insns: $(INSNS)
|
insns: $(INSNS)
|
||||||
|
|
||||||
@ -644,6 +644,9 @@ transdb.h: $(PREP) srcs-enc
|
|||||||
$(MINIRUBY) $(srcdir)/enc/trans/make_transdb.rb $@.new $(srcdir)/enc/trans enc/trans
|
$(MINIRUBY) $(srcdir)/enc/trans/make_transdb.rb $@.new $(srcdir)/enc/trans enc/trans
|
||||||
$(IFCHANGE) "$@" "$@.new"
|
$(IFCHANGE) "$@" "$@.new"
|
||||||
|
|
||||||
|
known_errors.inc: $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def
|
||||||
|
$(BASERUBY) $(srcdir)/tool/generic_erb.rb $+ > $@
|
||||||
|
|
||||||
miniprelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb
|
miniprelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb
|
||||||
$(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $@
|
$(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $@
|
||||||
|
|
||||||
|
122
defs/known_errors.def
Normal file
122
defs/known_errors.def
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
EPERM
|
||||||
|
ENOENT
|
||||||
|
ESRCH
|
||||||
|
EINTR
|
||||||
|
EIO
|
||||||
|
ENXIO
|
||||||
|
E2BIG
|
||||||
|
ENOEXEC
|
||||||
|
EBADF
|
||||||
|
ECHILD
|
||||||
|
EAGAIN
|
||||||
|
ENOMEM
|
||||||
|
EACCES
|
||||||
|
EFAULT
|
||||||
|
ENOTBLK
|
||||||
|
EBUSY
|
||||||
|
EEXIST
|
||||||
|
EXDEV
|
||||||
|
ENODEV
|
||||||
|
ENOTDIR
|
||||||
|
EISDIR
|
||||||
|
EINVAL
|
||||||
|
ENFILE
|
||||||
|
EMFILE
|
||||||
|
ENOTTY
|
||||||
|
ETXTBSY
|
||||||
|
EFBIG
|
||||||
|
ENOSPC
|
||||||
|
ESPIPE
|
||||||
|
EROFS
|
||||||
|
EMLINK
|
||||||
|
EPIPE
|
||||||
|
EDOM
|
||||||
|
ERANGE
|
||||||
|
EDEADLK
|
||||||
|
ENAMETOOLONG
|
||||||
|
ENOLCK
|
||||||
|
ENOSYS
|
||||||
|
ENOTEMPTY
|
||||||
|
ELOOP
|
||||||
|
EWOULDBLOCK
|
||||||
|
ENOMSG
|
||||||
|
EIDRM
|
||||||
|
ECHRNG
|
||||||
|
EL2NSYNC
|
||||||
|
EL3HLT
|
||||||
|
EL3RST
|
||||||
|
ELNRNG
|
||||||
|
EUNATCH
|
||||||
|
ENOCSI
|
||||||
|
EL2HLT
|
||||||
|
EBADE
|
||||||
|
EBADR
|
||||||
|
EXFULL
|
||||||
|
ENOANO
|
||||||
|
EBADRQC
|
||||||
|
EBADSLT
|
||||||
|
EDEADLOCK
|
||||||
|
EBFONT
|
||||||
|
ENOSTR
|
||||||
|
ENODATA
|
||||||
|
ETIME
|
||||||
|
ENOSR
|
||||||
|
ENONET
|
||||||
|
ENOPKG
|
||||||
|
EREMOTE
|
||||||
|
ENOLINK
|
||||||
|
EADV
|
||||||
|
ESRMNT
|
||||||
|
ECOMM
|
||||||
|
EPROTO
|
||||||
|
EMULTIHOP
|
||||||
|
EDOTDOT
|
||||||
|
EBADMSG
|
||||||
|
EOVERFLOW
|
||||||
|
ENOTUNIQ
|
||||||
|
EBADFD
|
||||||
|
EREMCHG
|
||||||
|
ELIBACC
|
||||||
|
ELIBBAD
|
||||||
|
ELIBSCN
|
||||||
|
ELIBMAX
|
||||||
|
ELIBEXEC
|
||||||
|
EILSEQ
|
||||||
|
ERESTART
|
||||||
|
ESTRPIPE
|
||||||
|
EUSERS
|
||||||
|
ENOTSOCK
|
||||||
|
EDESTADDRREQ
|
||||||
|
EMSGSIZE
|
||||||
|
EPROTOTYPE
|
||||||
|
ENOPROTOOPT
|
||||||
|
EPROTONOSUPPORT
|
||||||
|
ESOCKTNOSUPPORT
|
||||||
|
EOPNOTSUPP
|
||||||
|
EPFNOSUPPORT
|
||||||
|
EAFNOSUPPORT
|
||||||
|
EADDRINUSE
|
||||||
|
EADDRNOTAVAIL
|
||||||
|
ENETDOWN
|
||||||
|
ENETUNREACH
|
||||||
|
ENETRESET
|
||||||
|
ECONNABORTED
|
||||||
|
ECONNRESET
|
||||||
|
ENOBUFS
|
||||||
|
EISCONN
|
||||||
|
ENOTCONN
|
||||||
|
ESHUTDOWN
|
||||||
|
ETOOMANYREFS
|
||||||
|
ETIMEDOUT
|
||||||
|
ECONNREFUSED
|
||||||
|
EHOSTDOWN
|
||||||
|
EHOSTUNREACH
|
||||||
|
EALREADY
|
||||||
|
EINPROGRESS
|
||||||
|
ESTALE
|
||||||
|
EUCLEAN
|
||||||
|
ENOTNAM
|
||||||
|
ENAVAIL
|
||||||
|
EISNAM
|
||||||
|
EREMOTEIO
|
||||||
|
EDQUOT
|
385
error.c
385
error.c
@ -983,18 +983,6 @@ syserr_eqq(VALUE self, VALUE exc)
|
|||||||
return Qfalse;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* call-seq:
|
|
||||||
* Errno.const_missing => SystemCallError
|
|
||||||
*
|
|
||||||
* Returns default SystemCallError class.
|
|
||||||
*/
|
|
||||||
static VALUE
|
|
||||||
errno_missing(VALUE self, VALUE id)
|
|
||||||
{
|
|
||||||
return rb_eNOERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Descendants of class <code>Exception</code> are used to communicate
|
* Descendants of class <code>Exception</code> are used to communicate
|
||||||
* between <code>raise</code> methods and <code>rescue</code>
|
* between <code>raise</code> methods and <code>rescue</code>
|
||||||
@ -1067,7 +1055,6 @@ Init_Exception(void)
|
|||||||
rb_define_singleton_method(rb_eSystemCallError, "===", syserr_eqq, 1);
|
rb_define_singleton_method(rb_eSystemCallError, "===", syserr_eqq, 1);
|
||||||
|
|
||||||
rb_mErrno = rb_define_module("Errno");
|
rb_mErrno = rb_define_module("Errno");
|
||||||
rb_define_singleton_method(rb_mErrno, "const_missing", errno_missing, 1);
|
|
||||||
|
|
||||||
rb_define_global_function("warn", rb_warn_m, 1);
|
rb_define_global_function("warn", rb_warn_m, 1);
|
||||||
}
|
}
|
||||||
@ -1170,377 +1157,7 @@ rb_check_frozen(VALUE obj)
|
|||||||
if (OBJ_FROZEN(obj)) rb_error_frozen(rb_obj_classname(obj));
|
if (OBJ_FROZEN(obj)) rb_error_frozen(rb_obj_classname(obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
#include "known_errors.inc"
|
||||||
Init_syserr(void)
|
|
||||||
{
|
|
||||||
#ifdef EPERM
|
|
||||||
set_syserr(EPERM, "EPERM");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOENT
|
|
||||||
set_syserr(ENOENT, "ENOENT");
|
|
||||||
#endif
|
|
||||||
#ifdef ESRCH
|
|
||||||
set_syserr(ESRCH, "ESRCH");
|
|
||||||
#endif
|
|
||||||
#ifdef EINTR
|
|
||||||
set_syserr(EINTR, "EINTR");
|
|
||||||
#endif
|
|
||||||
#ifdef EIO
|
|
||||||
set_syserr(EIO, "EIO");
|
|
||||||
#endif
|
|
||||||
#ifdef ENXIO
|
|
||||||
set_syserr(ENXIO, "ENXIO");
|
|
||||||
#endif
|
|
||||||
#ifdef E2BIG
|
|
||||||
set_syserr(E2BIG, "E2BIG");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOEXEC
|
|
||||||
set_syserr(ENOEXEC, "ENOEXEC");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADF
|
|
||||||
set_syserr(EBADF, "EBADF");
|
|
||||||
#endif
|
|
||||||
#ifdef ECHILD
|
|
||||||
set_syserr(ECHILD, "ECHILD");
|
|
||||||
#endif
|
|
||||||
#ifdef EAGAIN
|
|
||||||
set_syserr(EAGAIN, "EAGAIN");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOMEM
|
|
||||||
set_syserr(ENOMEM, "ENOMEM");
|
|
||||||
#endif
|
|
||||||
#ifdef EACCES
|
|
||||||
set_syserr(EACCES, "EACCES");
|
|
||||||
#endif
|
|
||||||
#ifdef EFAULT
|
|
||||||
set_syserr(EFAULT, "EFAULT");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTBLK
|
|
||||||
set_syserr(ENOTBLK, "ENOTBLK");
|
|
||||||
#endif
|
|
||||||
#ifdef EBUSY
|
|
||||||
set_syserr(EBUSY, "EBUSY");
|
|
||||||
#endif
|
|
||||||
#ifdef EEXIST
|
|
||||||
set_syserr(EEXIST, "EEXIST");
|
|
||||||
#endif
|
|
||||||
#ifdef EXDEV
|
|
||||||
set_syserr(EXDEV, "EXDEV");
|
|
||||||
#endif
|
|
||||||
#ifdef ENODEV
|
|
||||||
set_syserr(ENODEV, "ENODEV");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTDIR
|
|
||||||
set_syserr(ENOTDIR, "ENOTDIR");
|
|
||||||
#endif
|
|
||||||
#ifdef EISDIR
|
|
||||||
set_syserr(EISDIR, "EISDIR");
|
|
||||||
#endif
|
|
||||||
#ifdef EINVAL
|
|
||||||
set_syserr(EINVAL, "EINVAL");
|
|
||||||
#endif
|
|
||||||
#ifdef ENFILE
|
|
||||||
set_syserr(ENFILE, "ENFILE");
|
|
||||||
#endif
|
|
||||||
#ifdef EMFILE
|
|
||||||
set_syserr(EMFILE, "EMFILE");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTTY
|
|
||||||
set_syserr(ENOTTY, "ENOTTY");
|
|
||||||
#endif
|
|
||||||
#ifdef ETXTBSY
|
|
||||||
set_syserr(ETXTBSY, "ETXTBSY");
|
|
||||||
#endif
|
|
||||||
#ifdef EFBIG
|
|
||||||
set_syserr(EFBIG, "EFBIG");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOSPC
|
|
||||||
set_syserr(ENOSPC, "ENOSPC");
|
|
||||||
#endif
|
|
||||||
#ifdef ESPIPE
|
|
||||||
set_syserr(ESPIPE, "ESPIPE");
|
|
||||||
#endif
|
|
||||||
#ifdef EROFS
|
|
||||||
set_syserr(EROFS, "EROFS");
|
|
||||||
#endif
|
|
||||||
#ifdef EMLINK
|
|
||||||
set_syserr(EMLINK, "EMLINK");
|
|
||||||
#endif
|
|
||||||
#ifdef EPIPE
|
|
||||||
set_syserr(EPIPE, "EPIPE");
|
|
||||||
#endif
|
|
||||||
#ifdef EDOM
|
|
||||||
set_syserr(EDOM, "EDOM");
|
|
||||||
#endif
|
|
||||||
#ifdef ERANGE
|
|
||||||
set_syserr(ERANGE, "ERANGE");
|
|
||||||
#endif
|
|
||||||
#ifdef EDEADLK
|
|
||||||
set_syserr(EDEADLK, "EDEADLK");
|
|
||||||
#endif
|
|
||||||
#ifdef ENAMETOOLONG
|
|
||||||
set_syserr(ENAMETOOLONG, "ENAMETOOLONG");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOLCK
|
|
||||||
set_syserr(ENOLCK, "ENOLCK");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOSYS
|
|
||||||
set_syserr(ENOSYS, "ENOSYS");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTEMPTY
|
|
||||||
set_syserr(ENOTEMPTY, "ENOTEMPTY");
|
|
||||||
#endif
|
|
||||||
#ifdef ELOOP
|
|
||||||
set_syserr(ELOOP, "ELOOP");
|
|
||||||
#endif
|
|
||||||
#ifdef EWOULDBLOCK
|
|
||||||
set_syserr(EWOULDBLOCK, "EWOULDBLOCK");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOMSG
|
|
||||||
set_syserr(ENOMSG, "ENOMSG");
|
|
||||||
#endif
|
|
||||||
#ifdef EIDRM
|
|
||||||
set_syserr(EIDRM, "EIDRM");
|
|
||||||
#endif
|
|
||||||
#ifdef ECHRNG
|
|
||||||
set_syserr(ECHRNG, "ECHRNG");
|
|
||||||
#endif
|
|
||||||
#ifdef EL2NSYNC
|
|
||||||
set_syserr(EL2NSYNC, "EL2NSYNC");
|
|
||||||
#endif
|
|
||||||
#ifdef EL3HLT
|
|
||||||
set_syserr(EL3HLT, "EL3HLT");
|
|
||||||
#endif
|
|
||||||
#ifdef EL3RST
|
|
||||||
set_syserr(EL3RST, "EL3RST");
|
|
||||||
#endif
|
|
||||||
#ifdef ELNRNG
|
|
||||||
set_syserr(ELNRNG, "ELNRNG");
|
|
||||||
#endif
|
|
||||||
#ifdef EUNATCH
|
|
||||||
set_syserr(EUNATCH, "EUNATCH");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOCSI
|
|
||||||
set_syserr(ENOCSI, "ENOCSI");
|
|
||||||
#endif
|
|
||||||
#ifdef EL2HLT
|
|
||||||
set_syserr(EL2HLT, "EL2HLT");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADE
|
|
||||||
set_syserr(EBADE, "EBADE");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADR
|
|
||||||
set_syserr(EBADR, "EBADR");
|
|
||||||
#endif
|
|
||||||
#ifdef EXFULL
|
|
||||||
set_syserr(EXFULL, "EXFULL");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOANO
|
|
||||||
set_syserr(ENOANO, "ENOANO");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADRQC
|
|
||||||
set_syserr(EBADRQC, "EBADRQC");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADSLT
|
|
||||||
set_syserr(EBADSLT, "EBADSLT");
|
|
||||||
#endif
|
|
||||||
#ifdef EDEADLOCK
|
|
||||||
set_syserr(EDEADLOCK, "EDEADLOCK");
|
|
||||||
#endif
|
|
||||||
#ifdef EBFONT
|
|
||||||
set_syserr(EBFONT, "EBFONT");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOSTR
|
|
||||||
set_syserr(ENOSTR, "ENOSTR");
|
|
||||||
#endif
|
|
||||||
#ifdef ENODATA
|
|
||||||
set_syserr(ENODATA, "ENODATA");
|
|
||||||
#endif
|
|
||||||
#ifdef ETIME
|
|
||||||
set_syserr(ETIME, "ETIME");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOSR
|
|
||||||
set_syserr(ENOSR, "ENOSR");
|
|
||||||
#endif
|
|
||||||
#ifdef ENONET
|
|
||||||
set_syserr(ENONET, "ENONET");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOPKG
|
|
||||||
set_syserr(ENOPKG, "ENOPKG");
|
|
||||||
#endif
|
|
||||||
#ifdef EREMOTE
|
|
||||||
set_syserr(EREMOTE, "EREMOTE");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOLINK
|
|
||||||
set_syserr(ENOLINK, "ENOLINK");
|
|
||||||
#endif
|
|
||||||
#ifdef EADV
|
|
||||||
set_syserr(EADV, "EADV");
|
|
||||||
#endif
|
|
||||||
#ifdef ESRMNT
|
|
||||||
set_syserr(ESRMNT, "ESRMNT");
|
|
||||||
#endif
|
|
||||||
#ifdef ECOMM
|
|
||||||
set_syserr(ECOMM, "ECOMM");
|
|
||||||
#endif
|
|
||||||
#ifdef EPROTO
|
|
||||||
set_syserr(EPROTO, "EPROTO");
|
|
||||||
#endif
|
|
||||||
#ifdef EMULTIHOP
|
|
||||||
set_syserr(EMULTIHOP, "EMULTIHOP");
|
|
||||||
#endif
|
|
||||||
#ifdef EDOTDOT
|
|
||||||
set_syserr(EDOTDOT, "EDOTDOT");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADMSG
|
|
||||||
set_syserr(EBADMSG, "EBADMSG");
|
|
||||||
#endif
|
|
||||||
#ifdef EOVERFLOW
|
|
||||||
set_syserr(EOVERFLOW, "EOVERFLOW");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTUNIQ
|
|
||||||
set_syserr(ENOTUNIQ, "ENOTUNIQ");
|
|
||||||
#endif
|
|
||||||
#ifdef EBADFD
|
|
||||||
set_syserr(EBADFD, "EBADFD");
|
|
||||||
#endif
|
|
||||||
#ifdef EREMCHG
|
|
||||||
set_syserr(EREMCHG, "EREMCHG");
|
|
||||||
#endif
|
|
||||||
#ifdef ELIBACC
|
|
||||||
set_syserr(ELIBACC, "ELIBACC");
|
|
||||||
#endif
|
|
||||||
#ifdef ELIBBAD
|
|
||||||
set_syserr(ELIBBAD, "ELIBBAD");
|
|
||||||
#endif
|
|
||||||
#ifdef ELIBSCN
|
|
||||||
set_syserr(ELIBSCN, "ELIBSCN");
|
|
||||||
#endif
|
|
||||||
#ifdef ELIBMAX
|
|
||||||
set_syserr(ELIBMAX, "ELIBMAX");
|
|
||||||
#endif
|
|
||||||
#ifdef ELIBEXEC
|
|
||||||
set_syserr(ELIBEXEC, "ELIBEXEC");
|
|
||||||
#endif
|
|
||||||
#ifdef EILSEQ
|
|
||||||
set_syserr(EILSEQ, "EILSEQ");
|
|
||||||
#endif
|
|
||||||
#ifdef ERESTART
|
|
||||||
set_syserr(ERESTART, "ERESTART");
|
|
||||||
#endif
|
|
||||||
#ifdef ESTRPIPE
|
|
||||||
set_syserr(ESTRPIPE, "ESTRPIPE");
|
|
||||||
#endif
|
|
||||||
#ifdef EUSERS
|
|
||||||
set_syserr(EUSERS, "EUSERS");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTSOCK
|
|
||||||
set_syserr(ENOTSOCK, "ENOTSOCK");
|
|
||||||
#endif
|
|
||||||
#ifdef EDESTADDRREQ
|
|
||||||
set_syserr(EDESTADDRREQ, "EDESTADDRREQ");
|
|
||||||
#endif
|
|
||||||
#ifdef EMSGSIZE
|
|
||||||
set_syserr(EMSGSIZE, "EMSGSIZE");
|
|
||||||
#endif
|
|
||||||
#ifdef EPROTOTYPE
|
|
||||||
set_syserr(EPROTOTYPE, "EPROTOTYPE");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOPROTOOPT
|
|
||||||
set_syserr(ENOPROTOOPT, "ENOPROTOOPT");
|
|
||||||
#endif
|
|
||||||
#ifdef EPROTONOSUPPORT
|
|
||||||
set_syserr(EPROTONOSUPPORT, "EPROTONOSUPPORT");
|
|
||||||
#endif
|
|
||||||
#ifdef ESOCKTNOSUPPORT
|
|
||||||
set_syserr(ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT");
|
|
||||||
#endif
|
|
||||||
#ifdef EOPNOTSUPP
|
|
||||||
set_syserr(EOPNOTSUPP, "EOPNOTSUPP");
|
|
||||||
#endif
|
|
||||||
#ifdef EPFNOSUPPORT
|
|
||||||
set_syserr(EPFNOSUPPORT, "EPFNOSUPPORT");
|
|
||||||
#endif
|
|
||||||
#ifdef EAFNOSUPPORT
|
|
||||||
set_syserr(EAFNOSUPPORT, "EAFNOSUPPORT");
|
|
||||||
#endif
|
|
||||||
#ifdef EADDRINUSE
|
|
||||||
set_syserr(EADDRINUSE, "EADDRINUSE");
|
|
||||||
#endif
|
|
||||||
#ifdef EADDRNOTAVAIL
|
|
||||||
set_syserr(EADDRNOTAVAIL, "EADDRNOTAVAIL");
|
|
||||||
#endif
|
|
||||||
#ifdef ENETDOWN
|
|
||||||
set_syserr(ENETDOWN, "ENETDOWN");
|
|
||||||
#endif
|
|
||||||
#ifdef ENETUNREACH
|
|
||||||
set_syserr(ENETUNREACH, "ENETUNREACH");
|
|
||||||
#endif
|
|
||||||
#ifdef ENETRESET
|
|
||||||
set_syserr(ENETRESET, "ENETRESET");
|
|
||||||
#endif
|
|
||||||
#ifdef ECONNABORTED
|
|
||||||
set_syserr(ECONNABORTED, "ECONNABORTED");
|
|
||||||
#endif
|
|
||||||
#ifdef ECONNRESET
|
|
||||||
set_syserr(ECONNRESET, "ECONNRESET");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOBUFS
|
|
||||||
set_syserr(ENOBUFS, "ENOBUFS");
|
|
||||||
#endif
|
|
||||||
#ifdef EISCONN
|
|
||||||
set_syserr(EISCONN, "EISCONN");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTCONN
|
|
||||||
set_syserr(ENOTCONN, "ENOTCONN");
|
|
||||||
#endif
|
|
||||||
#ifdef ESHUTDOWN
|
|
||||||
set_syserr(ESHUTDOWN, "ESHUTDOWN");
|
|
||||||
#endif
|
|
||||||
#ifdef ETOOMANYREFS
|
|
||||||
set_syserr(ETOOMANYREFS, "ETOOMANYREFS");
|
|
||||||
#endif
|
|
||||||
#ifdef ETIMEDOUT
|
|
||||||
set_syserr(ETIMEDOUT, "ETIMEDOUT");
|
|
||||||
#endif
|
|
||||||
#ifdef ECONNREFUSED
|
|
||||||
set_syserr(ECONNREFUSED, "ECONNREFUSED");
|
|
||||||
#endif
|
|
||||||
#ifdef EHOSTDOWN
|
|
||||||
set_syserr(EHOSTDOWN, "EHOSTDOWN");
|
|
||||||
#endif
|
|
||||||
#ifdef EHOSTUNREACH
|
|
||||||
set_syserr(EHOSTUNREACH, "EHOSTUNREACH");
|
|
||||||
#endif
|
|
||||||
#ifdef EALREADY
|
|
||||||
set_syserr(EALREADY, "EALREADY");
|
|
||||||
#endif
|
|
||||||
#ifdef EINPROGRESS
|
|
||||||
set_syserr(EINPROGRESS, "EINPROGRESS");
|
|
||||||
#endif
|
|
||||||
#ifdef ESTALE
|
|
||||||
set_syserr(ESTALE, "ESTALE");
|
|
||||||
#endif
|
|
||||||
#ifdef EUCLEAN
|
|
||||||
set_syserr(EUCLEAN, "EUCLEAN");
|
|
||||||
#endif
|
|
||||||
#ifdef ENOTNAM
|
|
||||||
set_syserr(ENOTNAM, "ENOTNAM");
|
|
||||||
#endif
|
|
||||||
#ifdef ENAVAIL
|
|
||||||
set_syserr(ENAVAIL, "ENAVAIL");
|
|
||||||
#endif
|
|
||||||
#ifdef EISNAM
|
|
||||||
set_syserr(EISNAM, "EISNAM");
|
|
||||||
#endif
|
|
||||||
#ifdef EREMOTEIO
|
|
||||||
set_syserr(EREMOTEIO, "EREMOTEIO");
|
|
||||||
#endif
|
|
||||||
#ifdef EDQUOT
|
|
||||||
set_syserr(EDQUOT, "EDQUOT");
|
|
||||||
#endif
|
|
||||||
rb_eNOERROR = set_syserr(0, "NOERROR");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
err_append(const char *s)
|
err_append(const char *s)
|
||||||
|
18
template/known_errors.inc.tmpl
Normal file
18
template/known_errors.inc.tmpl
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/** -*-c-*-
|
||||||
|
* This file is automatically generated by tools/generic_erb.rb
|
||||||
|
* DO NOT TOUCH!
|
||||||
|
*
|
||||||
|
* If you want to fix something, you should edit 'template/knwon_erros.inc.tmpl or defs/knwon_errors.def
|
||||||
|
*/
|
||||||
|
|
||||||
|
% error_names = ARGF.read.split(/\s+/)
|
||||||
|
void Init_syserr(void) {
|
||||||
|
rb_eNOERROR = set_syserr(0, "NOERROR");
|
||||||
|
% error_names.each do |name|
|
||||||
|
#ifdef <%=name%>
|
||||||
|
set_syserr(<%=name%>, "<%=name%>");
|
||||||
|
#else
|
||||||
|
set_syserr(0, "<%=name%>");
|
||||||
|
#endif
|
||||||
|
% end
|
||||||
|
}
|
4
tool/generic_erb.rb
Normal file
4
tool/generic_erb.rb
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
require 'erb'
|
||||||
|
|
||||||
|
template = ARGV.shift
|
||||||
|
ERB.new(File.read(template), nil, '%').run
|
Loading…
x
Reference in New Issue
Block a user