summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embed.h4
-rwxr-xr-xembed.pl1
-rw-r--r--proto.h5
-rw-r--r--sv.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/embed.h b/embed.h
index 3a43f40ed5..2e67e3650a 100644
--- a/embed.h
+++ b/embed.h
@@ -1115,6 +1115,7 @@
# if defined(USE_ITHREADS)
#define gv_share S_gv_share
# endif
+#define grok_number S_grok_number
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define check_uni S_check_uni
@@ -2609,6 +2610,7 @@
# if defined(USE_ITHREADS)
#define gv_share(a) S_gv_share(aTHX_ a)
# endif
+#define grok_number(a,b,c) S_grok_number(aTHX_ a,b,c)
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define check_uni() S_check_uni(aTHX)
@@ -5083,6 +5085,8 @@
#define S_gv_share CPerlObj::S_gv_share
#define gv_share S_gv_share
# endif
+#define S_grok_number CPerlObj::S_grok_number
+#define grok_number S_grok_number
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define S_check_uni CPerlObj::S_check_uni
diff --git a/embed.pl b/embed.pl
index a2e833b9c6..7831f7e493 100755
--- a/embed.pl
+++ b/embed.pl
@@ -2522,6 +2522,7 @@ s |I32 |expect_number |char** pattern
# if defined(USE_ITHREADS)
s |SV* |gv_share |SV *sv
# endif
+s |int |grok_number |const char *pv|STRLEN len|UV *valuep
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
diff --git a/proto.h b/proto.h
index b4eb6fce60..dc4be43804 100644
--- a/proto.h
+++ b/proto.h
@@ -477,7 +477,7 @@ PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv);
PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv);
PERL_CALLCONV void Perl_mg_magical(pTHX_ SV* sv);
PERL_CALLCONV int Perl_mg_set(pTHX_ SV* sv);
-PERL_CALLCONV I32 Perl_mg_size(pTHX_ SV* sv);
+PERL_CALLCONV IV Perl_mg_size(pTHX_ SV* sv);
PERL_CALLCONV void Perl_mini_mktime(pTHX_ struct tm *pm);
PERL_CALLCONV OP* Perl_mod(pTHX_ OP* o, I32 type);
PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ SV* discp);
@@ -1016,7 +1016,7 @@ STATIC void S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store);
#endif
#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv);
+STATIC void S_save_magic(pTHX_ IV mgs_ix, SV *sv);
STATIC int S_magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth);
STATIC int S_magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
#endif
@@ -1246,6 +1246,7 @@ STATIC I32 S_expect_number(pTHX_ char** pattern);
# if defined(USE_ITHREADS)
STATIC SV* S_gv_share(pTHX_ SV *sv);
# endif
+STATIC int S_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep);
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
diff --git a/sv.c b/sv.c
index f1ed584cc8..f53a35aa4d 100644
--- a/sv.c
+++ b/sv.c
@@ -1495,7 +1495,7 @@ S_not_a_number(pTHX_ SV *sv)
#define IS_NUMBER_INFINITY 0x10 /* this is big */
static int
-grok_number(const char *pv, STRLEN len, UV *valuep)
+S_grok_number(const char *pv, STRLEN len, UV *valuep)
{
const char *s = pv;
const char *send = pv + len;