mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
6 changed files with 166 additions and 386 deletions
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>
|
||||
|
||||
* 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 \
|
||||
{$(VPATH)}util.h
|
||||
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
|
||||
eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h \
|
||||
$(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)
|
||||
$(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)
|
||||
|
||||
|
@ -644,6 +644,9 @@ transdb.h: $(PREP) srcs-enc
|
|||
$(MINIRUBY) $(srcdir)/enc/trans/make_transdb.rb $@.new $(srcdir)/enc/trans enc/trans
|
||||
$(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
|
||||
$(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;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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
|
||||
* 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_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);
|
||||
}
|
||||
|
@ -1170,377 +1157,7 @@ rb_check_frozen(VALUE obj)
|
|||
if (OBJ_FROZEN(obj)) rb_error_frozen(rb_obj_classname(obj));
|
||||
}
|
||||
|
||||
void
|
||||
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");
|
||||
}
|
||||
#include "known_errors.inc"
|
||||
|
||||
static void
|
||||
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…
Reference in a new issue