START_EXTERN_C
+
+#define OP_NAME(o) (o->op_type == OP_CUSTOM ? custom_op_name(o) : \
+ PL_op_name[o->op_type])
+#define OP_DESC(o) (o->op_type == OP_CUSTOM ? custom_op_desc(o) : \
+ PL_op_desc[o->op_type])
+
#ifndef DOINIT
EXT char *PL_op_name[];
#else
"threadsv",
"setstate",
"method_named",
+ "custom",
};
#endif
"per-thread value",
"set statement info",
"method with known name",
+ "unknown custom operator",
};
#endif
MEMBER_TO_FPTR(Perl_ck_fun), /* close */
MEMBER_TO_FPTR(Perl_ck_fun), /* pipe_op */
MEMBER_TO_FPTR(Perl_ck_fun), /* fileno */
- MEMBER_TO_FPTR(Perl_ck_octmode), /* umask */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* umask */
MEMBER_TO_FPTR(Perl_ck_fun), /* binmode */
MEMBER_TO_FPTR(Perl_ck_fun), /* tie */
MEMBER_TO_FPTR(Perl_ck_fun), /* untie */
MEMBER_TO_FPTR(Perl_ck_fun), /* chown */
MEMBER_TO_FPTR(Perl_ck_fun), /* chroot */
MEMBER_TO_FPTR(Perl_ck_fun), /* unlink */
- MEMBER_TO_FPTR(Perl_ck_octmode), /* chmod */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* chmod */
MEMBER_TO_FPTR(Perl_ck_fun), /* utime */
MEMBER_TO_FPTR(Perl_ck_fun), /* rename */
MEMBER_TO_FPTR(Perl_ck_fun), /* link */
MEMBER_TO_FPTR(Perl_ck_fun), /* symlink */
MEMBER_TO_FPTR(Perl_ck_fun), /* readlink */
- MEMBER_TO_FPTR(Perl_ck_octmode), /* mkdir */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* mkdir */
MEMBER_TO_FPTR(Perl_ck_fun), /* rmdir */
MEMBER_TO_FPTR(Perl_ck_fun), /* open_dir */
MEMBER_TO_FPTR(Perl_ck_fun), /* readdir */
MEMBER_TO_FPTR(Perl_ck_null), /* threadsv */
MEMBER_TO_FPTR(Perl_ck_null), /* setstate */
MEMBER_TO_FPTR(Perl_ck_null), /* method_named */
+ MEMBER_TO_FPTR(Perl_ck_null), /* custom */
};
#endif
0x00000044, /* threadsv */
0x00001404, /* setstate */
0x00000c40, /* method_named */
+ 0x00000000, /* custom */
};
#endif