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.

Reply via email to