Change 33287 by nicholas@nicholas-pecuchet on 2008/02/12 11:52:30 In Perl_load_module_nocontext(), ver can actually be NULL. In Perl_hv_copy_hints_hv(), ohv can actually be NULL. In Perl_sortsv(), Perl_sortsv_flags() and S_qsortsvu(), array can be NULL (if the number of elements to sort is <= 1). In Perl_save_nogv(), gv can not be NULL. In Perl_sv_cmp() and Perl_sv_cmp_locale(), both SVs can be NULL. In Perl_ptr_table_fetch(), the sv can be NULL. In PerlIO_set_ptrcnt(), ptr can be NULL. diff -Naur --exclude=debian perl-5.10.0.orig/embed.fnc perl-5.10.0/embed.fnc --- perl-5.10.0.orig/embed.fnc 2007-12-18 21:47:07.000000000 +1100 +++ perl-5.10.0/embed.fnc 2008-03-09 19:38:30.000000000 +1100 @@ -140,7 +140,7 @@ Afnp |OP* |die_nocontext |NN const char* pat|... Afnp |void |deb_nocontext |NN const char* pat|... Afnp |char* |form_nocontext |NN const char* pat|... -Anp |void |load_module_nocontext|U32 flags|NN SV* name|NN SV* ver|... +Anp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|... Afnp |SV* |mess_nocontext |NN const char* pat|... Afnp |void |warn_nocontext |NN const char* pat|... Afnp |void |warner_nocontext|U32 err|NN const char* pat|... @@ -296,7 +296,7 @@ Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags Apd |HV* |gv_stashsv |NULLOK SV* sv|I32 flags Apd |void |hv_clear |NULLOK HV* tb -poM |HV * |hv_copy_hints_hv|NN HV *const ohv +poM |HV * |hv_copy_hints_hv|NULLOK HV *const ohv Ap |void |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry Abmd |SV* |hv_delete |NULLOK HV* tb|NN const char* key|I32 klen \ |I32 flags @@ -486,8 +486,8 @@ Afp |SV* |mess |NN const char* pat|... Ap |SV* |vmess |NN const char* pat|NULLOK va_list* args EXp |void |qerror |NN SV* err -Apd |void |sortsv |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp -Apd |void |sortsv_flags |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags +Apd |void |sortsv |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp +Apd |void |sortsv_flags |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags Apd |int |mg_clear |NN SV* sv Apd |int |mg_copy |NN SV* sv|NN SV* nsv|NULLOK const char* key|I32 klen pd |void |mg_localize |NN SV* sv|NN SV* nsv @@ -768,7 +768,7 @@ Ap |void |save_list |NN SV** sarg|I32 maxsarg Ap |void |save_long |NN long* longp Ap |void |save_mortalizesv|NN SV* sv -Ap |void |save_nogv |NULLOK GV* gv +Ap |void |save_nogv |NN GV* gv p |void |save_op Ap |SV* |save_scalar |NN GV* gv Ap |void |save_pptr |NN char** pptr @@ -842,8 +842,8 @@ pd |I32 |sv_clean_all pd |void |sv_clean_objs Apd |void |sv_clear |NN SV* sv -Apd |I32 |sv_cmp |NN SV* sv1|NN SV* sv2 -Apd |I32 |sv_cmp_locale |NN SV* sv1|NN SV* sv2 +Apd |I32 |sv_cmp |NULLOK SV* sv1|NULLOK SV* sv2 +Apd |I32 |sv_cmp_locale |NULLOK SV* sv1|NULLOK SV* sv2 #if defined(USE_LOCALE_COLLATE) Apd |char* |sv_collxfrm |NN SV* sv|NN STRLEN* nxp #endif @@ -1094,7 +1094,7 @@ Ap |yy_parser*|parser_dup |NN 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 +ApR |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NULLOK const void *sv Ap |void |ptr_table_store|NN PTR_TBL_t *tbl|NULLOK const void *oldsv|NN void *newsv Ap |void |ptr_table_split|NN PTR_TBL_t *tbl Ap |void |ptr_table_clear|NULLOK PTR_TBL_t *tbl @@ -1352,7 +1352,7 @@ s |I32 |sortcv |NN SV *a|NN SV *b s |I32 |sortcv_xsub |NN SV *a|NN SV *b s |I32 |sortcv_stacked |NN SV *a|NN SV *b -s |void |qsortsvu |NN SV** array|size_t num_elts|NN SVCOMPARE_t compare +s |void |qsortsvu |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare #endif #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) @@ -1623,7 +1623,8 @@ Ap |int |PerlIO_flush |NULLOK PerlIO *f Ap |void |PerlIO_clearerr |NULLOK PerlIO *f Ap |void |PerlIO_set_cnt |NULLOK PerlIO *f|int cnt -Ap |void |PerlIO_set_ptrcnt |NULLOK PerlIO *f|NN STDCHAR *ptr|int cnt +Ap |void |PerlIO_set_ptrcnt |NULLOK PerlIO *f|NULLOK STDCHAR *ptr \ + |int cnt Ap |void |PerlIO_setlinebuf |NULLOK PerlIO *f Ap |SSize_t|PerlIO_read |NULLOK PerlIO *f|NN void *buf|Size_t count Ap |SSize_t|PerlIO_write |NULLOK PerlIO *f|NN const void *buf|Size_t count diff -Naur --exclude=debian perl-5.10.0.orig/proto.h perl-5.10.0/proto.h --- perl-5.10.0.orig/proto.h 2007-12-18 21:47:08.000000000 +1100 +++ perl-5.10.0/proto.h 2008-03-09 19:49:22.000000000 +1100 @@ -260,8 +260,7 @@ __attribute__nonnull__(1); PERL_CALLCONV void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...) - __attribute__nonnull__(2) - __attribute__nonnull__(3); + __attribute__nonnull__(2); PERL_CALLCONV SV* Perl_mess_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2) @@ -678,9 +677,7 @@ PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags); PERL_CALLCONV void Perl_hv_clear(pTHX_ HV* tb); -PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv) - __attribute__nonnull__(pTHX_1); - +PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv); PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry) __attribute__nonnull__(pTHX_1); @@ -1303,11 +1300,9 @@ __attribute__nonnull__(pTHX_1); PERL_CALLCONV void Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp) - __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_3); PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags) - __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_3); PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv) @@ -2079,7 +2074,9 @@ PERL_CALLCONV void Perl_save_mortalizesv(pTHX_ SV* sv) __attribute__nonnull__(pTHX_1); -PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv); +PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv) + __attribute__nonnull__(pTHX_1); + PERL_CALLCONV void Perl_save_op(pTHX); PERL_CALLCONV SV* Perl_save_scalar(pTHX_ GV* gv) __attribute__nonnull__(pTHX_1); @@ -2263,14 +2260,8 @@ PERL_CALLCONV void Perl_sv_clear(pTHX_ SV* sv) __attribute__nonnull__(pTHX_1); -PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2) - __attribute__nonnull__(pTHX_1) - __attribute__nonnull__(pTHX_2); - -PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2) - __attribute__nonnull__(pTHX_1) - __attribute__nonnull__(pTHX_2); - +PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2); +PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2); #if defined(USE_LOCALE_COLLATE) PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp) __attribute__nonnull__(pTHX_1) @@ -2936,8 +2927,7 @@ PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, const void *sv) __attribute__warn_unused_result__ - __attribute__nonnull__(pTHX_1) - __attribute__nonnull__(pTHX_2); + __attribute__nonnull__(pTHX_1); PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, const void *oldsv, void *newsv) __attribute__nonnull__(pTHX_1) @@ -3625,7 +3615,6 @@ __attribute__nonnull__(pTHX_2); STATIC void S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare) - __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_3); #endif @@ -4245,9 +4234,7 @@ PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f); PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f); PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt); -PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt) - __attribute__nonnull__(pTHX_2); - +PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt); PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *buf, Size_t count) __attribute__nonnull__(pTHX_2);