diff -wur ruby-1.8.5.orig/error.c ruby-1.8.5/error.c
|
old
|
new
|
|
| 827 | 827 | * Errno.constants #=> E2BIG, EACCES, EADDRINUSE, EADDRNOTAVAIL, ... |
| 828 | 828 | */ |
| 829 | 829 | |
| 830 | | static st_table *syserr_tbl; |
| | 830 | st_table *rb_syserr_tbl; |
| 831 | 831 | |
| 832 | 832 | static VALUE |
| 833 | 833 | set_syserr(n, name) |
| … |
… |
|
| 836 | 836 | { |
| 837 | 837 | VALUE error; |
| 838 | 838 | |
| 839 | | if (!st_lookup(syserr_tbl, n, &error)) { |
| | 839 | if (!st_lookup(rb_syserr_tbl, n, &error)) { |
| 840 | 840 | error = rb_define_class_under(rb_mErrno, name, rb_eSystemCallError); |
| 841 | 841 | rb_define_const(error, "Errno", INT2NUM(n)); |
| 842 | | st_add_direct(syserr_tbl, n, error); |
| | 842 | st_add_direct(rb_syserr_tbl, n, error); |
| 843 | 843 | } |
| 844 | 844 | else { |
| 845 | 845 | rb_define_const(rb_mErrno, name, error); |
| … |
… |
|
| 853 | 853 | { |
| 854 | 854 | VALUE error; |
| 855 | 855 | |
| 856 | | if (!st_lookup(syserr_tbl, n, &error)) { |
| | 856 | if (!st_lookup(rb_syserr_tbl, n, &error)) { |
| 857 | 857 | char name[8]; /* some Windows' errno have 5 digits. */ |
| 858 | 858 | |
| 859 | 859 | snprintf(name, sizeof(name), "E%03d", n); |
| … |
… |
|
| 891 | 891 | if (argc == 1 && FIXNUM_P(mesg)) { |
| 892 | 892 | error = mesg; mesg = Qnil; |
| 893 | 893 | } |
| 894 | | if (!NIL_P(error) && st_lookup(syserr_tbl, NUM2LONG(error), &klass)) { |
| | 894 | if (!NIL_P(error) && st_lookup(rb_syserr_tbl, NUM2LONG(error), &klass)) { |
| 895 | 895 | /* change class */ |
| 896 | 896 | if (TYPE(self) != T_OBJECT) { /* insurance to avoid type crash */ |
| 897 | 897 | rb_raise(rb_eTypeError, "invalid instance type"); |
| … |
… |
|
| 1031 | 1031 | rb_eSecurityError = rb_define_class("SecurityError", rb_eStandardError); |
| 1032 | 1032 | rb_eNoMemError = rb_define_class("NoMemoryError", rb_eException); |
| 1033 | 1033 | |
| 1034 | | syserr_tbl = st_init_numtable(); |
| | 1034 | rb_syserr_tbl = st_init_numtable(); |
| 1035 | 1035 | rb_eSystemCallError = rb_define_class("SystemCallError", rb_eStandardError); |
| 1036 | 1036 | rb_define_method(rb_eSystemCallError, "initialize", syserr_initialize, -1); |
| 1037 | 1037 | rb_define_method(rb_eSystemCallError, "errno", syserr_errno, 0); |
diff -wur ruby-1.8.5.orig/eval.c ruby-1.8.5/eval.c
|
old
|
new
|
|
| 9771 | 9762 | # endif |
| 9772 | 9763 | #endif |
| 9773 | 9764 | |
| 9774 | | /* typedef struct thread * rb_thread_t; */ |
| 9775 | | |
| 9776 | 9765 | #define THREAD_RAISED 0x200 /* temporary flag */ |
| 9777 | 9766 | #define THREAD_TERMINATING 0x400 /* persistent flag */ |
| 9778 | 9767 | #define THREAD_NO_ENSURE 0x800 /* persistent flag */ |