Skip to content

Commit aae9cea

Browse files
committed
sv_taint() can easily be replaced by a macro.
p4raw-id: //depot/perl@25876
1 parent 9a265e5 commit aae9cea

File tree

6 files changed

+18
-18
lines changed

6 files changed

+18
-18
lines changed

embed.fnc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ Apd |SV* |sv_setref_pvn |NN SV* rv|NULLOK const char* classname|NN const char* p
811811
Apd |void |sv_setpv |NN SV* sv|NULLOK const char* ptr
812812
Apd |void |sv_setpvn |NN SV* sv|NULLOK const char* ptr|STRLEN len
813813
Amdb |void |sv_setsv |NN SV* dsv|NULLOK SV* ssv
814-
Apd |void |sv_taint |NN SV* sv
814+
Amdb |void |sv_taint |NN SV* sv
815815
ApdR |bool |sv_tainted |NN SV* sv
816816
Apd |int |sv_unmagic |NN SV* sv|int type
817817
Apd |void |sv_unref |NN SV* sv

embed.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,6 @@
853853
#define sv_setref_pvn Perl_sv_setref_pvn
854854
#define sv_setpv Perl_sv_setpv
855855
#define sv_setpvn Perl_sv_setpvn
856-
#define sv_taint Perl_sv_taint
857856
#define sv_tainted Perl_sv_tainted
858857
#define sv_unmagic Perl_sv_unmagic
859858
#define sv_unref Perl_sv_unref
@@ -2847,7 +2846,6 @@
28472846
#define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
28482847
#define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b)
28492848
#define sv_setpvn(a,b,c) Perl_sv_setpvn(aTHX_ a,b,c)
2850-
#define sv_taint(a) Perl_sv_taint(aTHX_ a)
28512849
#define sv_tainted(a) Perl_sv_tainted(aTHX_ a)
28522850
#define sv_unmagic(a,b) Perl_sv_unmagic(aTHX_ a,b)
28532851
#define sv_unref(a) Perl_sv_unref(aTHX_ a)

mathoms.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ Perl_ref(pTHX_ OP *o, I32 type)
3636
return doref(o, type, TRUE);
3737
}
3838

39+
/*
40+
=for apidoc sv_taint
41+
42+
Taint an SV. Use C<SvTAINTED_on> instead.
43+
=cut
44+
*/
45+
46+
void
47+
Perl_sv_taint(pTHX_ SV *sv)
48+
{
49+
sv_magic((sv), Nullsv, PERL_MAGIC_taint, Nullch, 0);
50+
}
51+
3952
/* sv_2iv() is now a macro using Perl_sv_2iv_flags();
4053
* this function provided for binary compatibility only
4154
*/

proto.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2248,8 +2248,8 @@ PERL_CALLCONV void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len)
22482248
/* PERL_CALLCONV void sv_setsv(pTHX_ SV* dsv, SV* ssv)
22492249
__attribute__nonnull__(pTHX_1); */
22502250

2251-
PERL_CALLCONV void Perl_sv_taint(pTHX_ SV* sv)
2252-
__attribute__nonnull__(pTHX_1);
2251+
/* PERL_CALLCONV void sv_taint(pTHX_ SV* sv)
2252+
__attribute__nonnull__(pTHX_1); */
22532253

22542254
PERL_CALLCONV bool Perl_sv_tainted(pTHX_ SV* sv)
22552255
__attribute__warn_unused_result__

sv.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8335,19 +8335,6 @@ Perl_sv_unref(pTHX_ SV *sv)
83358335
sv_unref_flags(sv, 0);
83368336
}
83378337

8338-
/*
8339-
=for apidoc sv_taint
8340-
8341-
Taint an SV. Use C<SvTAINTED_on> instead.
8342-
=cut
8343-
*/
8344-
8345-
void
8346-
Perl_sv_taint(pTHX_ SV *sv)
8347-
{
8348-
sv_magic((sv), Nullsv, PERL_MAGIC_taint, Nullch, 0);
8349-
}
8350-
83518338
/*
83528339
=for apidoc sv_untaint
83538340

sv.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,6 +1034,8 @@ Taints an SV if tainting is enabled.
10341034
=cut
10351035
*/
10361036

1037+
#define sv_taint(sv) sv_magic((sv), Nullsv, PERL_MAGIC_taint, Nullch, 0)
1038+
10371039
#define SvTAINTED(sv) (SvMAGICAL(sv) && sv_tainted(sv))
10381040
#define SvTAINTED_on(sv) STMT_START{ if(PL_tainting){sv_taint(sv);} }STMT_END
10391041
#define SvTAINTED_off(sv) STMT_START{ if(PL_tainting){sv_untaint(sv);} }STMT_END

0 commit comments

Comments
 (0)