Change 33283 by [EMAIL PROTECTED] on 2008/02/11 19:22:18
In Perl_sv_catpv(), Perl_sv_catpv_mg() the ptr can be not NULL.
In Perl_sv_inc() and Perl_sv_dec(), the sv can be not NULL.
In Perl_parser_dup() the proto parser can be NULL.
In Perl_ptr_table_find(), the sought-for pointer can be NULL.
In Perl_save_set_svflags(), the saved SV can't be NULL.
Affected files ...
... //depot/perl/embed.fnc#578 edit
... //depot/perl/proto.h#912 edit
Differences ...
==== //depot/perl/embed.fnc#578 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#577~33279~ 2008-02-11 06:46:40.000000000 -0800
+++ perl/embed.fnc 2008-02-11 11:22:18.000000000 -0800
@@ -836,7 +836,7 @@
Apd |SV* |sv_bless |NN SV* sv|NN HV* stash
Afpd |void |sv_catpvf |NN SV* sv|NN const char* pat|...
Apd |void |sv_vcatpvf |NN SV* sv|NN const char* pat|NULLOK va_list*
args
-Apd |void |sv_catpv |NN SV* sv|NN const char* ptr
+Apd |void |sv_catpv |NN SV* sv|NULLOK const char* ptr
Amdb |void |sv_catpvn |NN SV* sv|NN const char* ptr|STRLEN len
Amdb |void |sv_catsv |NN SV* dsv|NULLOK SV* ssv
Apd |void |sv_chop |NN SV* sv|NULLOK const char* ptr
@@ -850,7 +850,7 @@
#endif
Ap |OP* |sv_compile_2op |NN SV* sv|NN OP** startp|NN const char*
code|NN PAD** padp
Apd |int |getcwd_sv |NN SV* sv
-Apd |void |sv_dec |NN SV* sv
+Apd |void |sv_dec |NULLOK SV* sv
Ap |void |sv_dump |NN SV* sv
ApdR |bool |sv_derived_from|NN SV* sv|NN const char *const name
ApdR |bool |sv_does |NN SV* sv|NN const char *const name
@@ -860,7 +860,7 @@
pd |void |sv_free_arenas
Apd |char* |sv_gets |NN SV* sv|NN PerlIO* fp|I32 append
Apd |char* |sv_grow |NN SV *const sv|STRLEN newlen
-Apd |void |sv_inc |NN SV* sv
+Apd |void |sv_inc |NULLOK SV* sv
Apd |void |sv_insert |NN SV* bigsv|STRLEN offset|STRLEN len \
|NN const char* little|STRLEN littlelen
Apd |int |sv_isa |NULLOK SV* sv|NN const char* name
@@ -1011,7 +1011,7 @@
Ap |int |runops_debug
Afpd |void |sv_catpvf_mg |NN SV *sv|NN const char* pat|...
Apd |void |sv_vcatpvf_mg |NN SV* sv|NN const char* pat|NULLOK va_list*
args
-Apd |void |sv_catpv_mg |NN SV *sv|NN const char *ptr
+Apd |void |sv_catpv_mg |NN SV *sv|NULLOK const char *ptr
Apdbm |void |sv_catpvn_mg |NN SV *sv|NN const char *ptr|STRLEN len
Apdbm |void |sv_catsv_mg |NN SV *dstr|NULLOK SV *sstr
Afpd |void |sv_setpvf_mg |NN SV *sv|NN const char* pat|...
@@ -1093,7 +1093,7 @@
ApR |MAGIC* |mg_dup |NULLOK MAGIC* mg|NN CLONE_PARAMS* param
ApR |SV* |sv_dup |NULLOK const SV* sstr|NN CLONE_PARAMS* param
Ap |void |rvpv_dup |NN SV* dstr|NN const SV *sstr|NN CLONE_PARAMS*
param
-Ap |yy_parser*|parser_dup |NN const yy_parser *proto|NN CLONE_PARAMS*
param
+Ap |yy_parser*|parser_dup |NULLOK const yy_parser *proto|NN CLONE_PARAMS*
param
#endif
Apa |PTR_TBL_t*|ptr_table_new
ApR |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
@@ -1531,7 +1531,7 @@
s |bool |sv_2iuv_common |NN SV *const sv
s |void |glob_assign_glob|NN SV *dstr|NN SV *sstr|const int dtype
s |void |glob_assign_ref|NN SV *dstr|NN SV *sstr
-sRn |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv
+sRn |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NULLOK const void *sv
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
@@ -1699,7 +1699,7 @@
#if defined(DEBUGGING)
pR |int |get_debug_opts |NN const char **s|bool givehelp
#endif
-Ap |void |save_set_svflags|NULLOK SV* sv|U32 mask|U32 val
+Ap |void |save_set_svflags|NN SV* sv|U32 mask|U32 val
Apod |void |hv_assert |NN HV* tb
ApdR |SV* |hv_scalar |NN HV* hv
==== //depot/perl/proto.h#912 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#911~33279~ 2008-02-11 06:46:40.000000000 -0800
+++ perl/proto.h 2008-02-11 11:22:18.000000000 -0800
@@ -2245,8 +2245,7 @@
__attribute__nonnull__(pTHX_2);
PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+ __attribute__nonnull__(pTHX_1);
/* PERL_CALLCONV void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN
len)
__attribute__nonnull__(pTHX_1)
@@ -2286,9 +2285,7 @@
PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV void Perl_sv_dec(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
+PERL_CALLCONV void Perl_sv_dec(pTHX_ SV* sv);
PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
@@ -2315,9 +2312,7 @@
PERL_CALLCONV char* Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV void Perl_sv_inc(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
+PERL_CALLCONV void Perl_sv_inc(pTHX_ SV* sv);
PERL_CALLCONV void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN
len, const char* little, STRLEN littlelen)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_4);
@@ -2711,8 +2706,7 @@
__attribute__nonnull__(pTHX_2);
PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+ __attribute__nonnull__(pTHX_1);
/* PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN
len)
__attribute__nonnull__(pTHX_1)
@@ -2927,7 +2921,6 @@
__attribute__nonnull__(pTHX_3);
PERL_CALLCONV yy_parser* Perl_parser_dup(pTHX_ const yy_parser *proto,
CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#endif
@@ -4036,8 +4029,7 @@
STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *tbl, const void *sv)
__attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(1);
#endif
@@ -4378,7 +4370,9 @@
__attribute__nonnull__(pTHX_1);
#endif
-PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV* sv, U32 mask, U32 val);
+PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV* sv, U32 mask, U32 val)
+ __attribute__nonnull__(pTHX_1);
+
PERL_CALLCONV void Perl_hv_assert(pTHX_ HV* tb)
__attribute__nonnull__(pTHX_1);
End of Patch.