Removed duplicated code (in pp.c and mg.c) by introducing
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index e4a9db8..5584aa4 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -12,7 +12,6 @@ VIRTUAL bool  Perl_Gv_AMupdate(pTHX_ HV* stash);
 VIRTUAL OP*    Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
 VIRTUAL OP*    Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
 VIRTUAL I32    Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
-VIRTUAL void   Perl_assertref(pTHX_ OP* o);
 VIRTUAL bool   Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
 VIRTUAL SV**   Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
 VIRTUAL HE*    Perl_avhv_iternext(pTHX_ AV *ar);
@@ -38,7 +37,7 @@ VIRTUAL I32   Perl_block_gimme(pTHX);
 VIRTUAL int    Perl_block_start(pTHX_ int full);
 VIRTUAL void   Perl_boot_core_UNIVERSAL(pTHX);
 VIRTUAL void   Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
-VIRTUAL I32    Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp);
+VIRTUAL bool   Perl_cando(pTHX_ Mode_t mode, Uid_t effective, Stat_t* statbufp);
 VIRTUAL U32    Perl_cast_ulong(pTHX_ NV f);
 VIRTUAL I32    Perl_cast_i32(pTHX_ NV f);
 VIRTUAL IV     Perl_cast_iv(pTHX_ NV f);
@@ -116,6 +115,7 @@ VIRTUAL I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp);
 VIRTUAL void   Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp);
 VIRTUAL OP*    Perl_do_kv(pTHX);
 VIRTUAL bool   Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
+VIRTUAL bool   Perl_do_open9(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num);
 VIRTUAL void   Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
 VIRTUAL bool   Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
 VIRTUAL OP*    Perl_do_readline(pTHX);
@@ -125,6 +125,7 @@ VIRTUAL void        Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
 VIRTUAL Off_t  Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
 VIRTUAL Off_t  Perl_do_tell(pTHX_ GV* gv);
 VIRTUAL I32    Perl_do_trans(pTHX_ SV* sv);
+VIRTUAL UV     Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size);
 VIRTUAL void   Perl_do_vecset(pTHX_ SV* sv);
 VIRTUAL void   Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
 VIRTUAL OP*    Perl_dofile(pTHX_ OP* term);
@@ -197,11 +198,12 @@ VIRTUAL HE*       Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
 VIRTUAL void   Perl_hv_undef(pTHX_ HV* tb);
 VIRTUAL I32    Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
 VIRTUAL I32    Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
-VIRTUAL I32    Perl_ingroup(pTHX_ I32 testgid, I32 effective);
+VIRTUAL bool   Perl_ingroup(pTHX_ Gid_t testgid, Uid_t effective);
+VIRTUAL void   Perl_init_debugger(pTHX);
 VIRTUAL void   Perl_init_stacks(pTHX);
 VIRTUAL U32    Perl_intro_my(pTHX);
 VIRTUAL char*  Perl_instr(pTHX_ const char* big, const char* little);
-VIRTUAL bool   Perl_io_close(pTHX_ IO* io);
+VIRTUAL bool   Perl_io_close(pTHX_ IO* io, bool not_implicit);
 VIRTUAL OP*    Perl_invert(pTHX_ OP* cmd);
 VIRTUAL bool   Perl_is_uni_alnum(pTHX_ U32 c);
 VIRTUAL bool   Perl_is_uni_alnumc(pTHX_ U32 c);
@@ -464,7 +466,7 @@ VIRTUAL void        Perl_set_numeric_local(pTHX);
 VIRTUAL void   Perl_set_numeric_radix(pTHX);
 VIRTUAL void   Perl_set_numeric_standard(pTHX);
 VIRTUAL void   Perl_require_pv(pTHX_ const char* pv);
-VIRTUAL void   Perl_pidgone(pTHX_ int pid, int status);
+VIRTUAL void   Perl_pidgone(pTHX_ Pid_t pid, int status);
 VIRTUAL void   Perl_pmflag(pTHX_ U16* pmfl, int ch);
 VIRTUAL OP*    Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
 VIRTUAL OP*    Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
@@ -535,10 +537,10 @@ VIRTUAL OP*       Perl_scalar(pTHX_ OP* o);
 VIRTUAL OP*    Perl_scalarkids(pTHX_ OP* o);
 VIRTUAL OP*    Perl_scalarseq(pTHX_ OP* o);
 VIRTUAL OP*    Perl_scalarvoid(pTHX_ OP* o);
-VIRTUAL UV     Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen);
-VIRTUAL UV     Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen);
+VIRTUAL NV     Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen);
+VIRTUAL NV     Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen);
 VIRTUAL char*  Perl_scan_num(pTHX_ char* s);
-VIRTUAL UV     Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen);
+VIRTUAL NV     Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen);
 VIRTUAL OP*    Perl_scope(pTHX_ OP* o);
 VIRTUAL char*  Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
 #if !defined(VMS)
@@ -654,7 +656,7 @@ VIRTUAL UV  Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
 VIRTUAL U8*    Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
 VIRTUAL void   Perl_vivify_defelem(pTHX_ SV* sv);
 VIRTUAL void   Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
-VIRTUAL I32    Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
+VIRTUAL I32    Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
 VIRTUAL void   Perl_warn(pTHX_ const char* pat, ...);
 VIRTUAL void   Perl_vwarn(pTHX_ const char* pat, va_list* args);
 VIRTUAL void   Perl_warner(pTHX_ U32 err, const char* pat, ...);
@@ -772,6 +774,7 @@ STATIC OP*  S_no_fh_allowed(pTHX_ OP *o);
 STATIC OP*     S_scalarboolean(pTHX_ OP *o);
 STATIC OP*     S_too_few_arguments(pTHX_ OP *o, char* name);
 STATIC OP*     S_too_many_arguments(pTHX_ OP *o, char* name);
+STATIC void    S_op_clear(pTHX_ OP* o);
 STATIC void    S_null(pTHX_ OP* o);
 STATIC PADOFFSET       S_pad_findlex(pTHX_ char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval, U32 flags);
 STATIC OP*     S_newDEFSVOP(pTHX);
@@ -791,7 +794,6 @@ STATIC void S_forbid_setid(pTHX_ char *);
 STATIC void    S_incpush(pTHX_ char *, int);
 STATIC void    S_init_interp(pTHX);
 STATIC void    S_init_ids(pTHX);
-STATIC void    S_init_debugger(pTHX);
 STATIC void    S_init_lexer(pTHX);
 STATIC void    S_init_main_stash(pTHX);
 STATIC void    S_init_perllib(pTHX);
@@ -840,10 +842,11 @@ STATIC void       S_qsortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t f);
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 STATIC CV*     S_get_db_sub(pTHX_ SV **svp, CV *cv);
+STATIC SV*     S_method_common(pTHX_ SV* meth, U32* hashp);
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 STATIC OP*     S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
-STATIC int     S_emulate_eaccess(pTHX_ const char* path, int mode);
+STATIC int     S_emulate_eaccess(pTHX_ const char* path, Mode_t mode);
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 STATIC int     S_dooneliner(pTHX_ char *cmd, char *filename);
 #  endif
@@ -853,7 +856,6 @@ STATIC regnode*     S_reg(pTHX_ I32, I32 *);
 STATIC regnode*        S_reganode(pTHX_ U8, U32);
 STATIC regnode*        S_regatom(pTHX_ I32 *);
 STATIC regnode*        S_regbranch(pTHX_ I32 *, I32);
-STATIC void    S_regc(pTHX_ U8, char *);
 STATIC void    S_reguni(pTHX_ UV, char *, I32*);
 STATIC regnode*        S_regclass(pTHX);
 STATIC regnode*        S_regclassutf8(pTHX);
@@ -866,8 +868,8 @@ STATIC void S_regtail(pTHX_ regnode *, regnode *);
 STATIC char*   S_regwhite(pTHX_ char *, char *);
 STATIC char*   S_nextchar(pTHX);
 STATIC regnode*        S_dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l);
-STATIC void    S_scan_commit(pTHX_ scan_data_t *data);
-STATIC I32     S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags);
+STATIC void    S_scan_commit(pTHX_ struct scan_data_t *data);
+STATIC I32     S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, struct scan_data_t *data, U32 flags);
 STATIC I32     S_add_data(pTHX_ I32 n, char *s);
 STATIC void    S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribute__((noreturn));
 STATIC I32     S_regpposixcc(pTHX_ I32 value);