From: Daniel Dragan Date: Wed, 6 Mar 2013 03:51:01 +0000 (-0500) Subject: better POD for SvPVX, pre-5.9.3 Perls X-Git-Tag: upstream/5.20.0~3884 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f615be485d8c90f01432a39e678e01c615e2c15e;p=platform%2Fupstream%2Fperl.git better POD for SvPVX, pre-5.9.3 Perls PV/char * was moved to SV head in commit 7b2c381cf3 . Prior to this, PV was in SV body, and sv_any can be NULL, so accessing SvPVX without checking type on old Perls was a SEGV. Make a note of this so others don't find out the hard way. --- diff --git a/sv.h b/sv.h index 94ba1e6..fd3da2d 100644 --- a/sv.h +++ b/sv.h @@ -730,7 +730,8 @@ Only use when you are sure SvNOK is true. See also C. =for apidoc Am|char*|SvPVX|SV* sv Returns a pointer to the physical string in the SV. The SV must contain a -string. +string. Prior to 5.9.3 it is not safe to execute this macro unless the SV's +type >= SVt_PV. This is also used to store the name of an autoloaded subroutine in an XS AUTOLOAD routine. See L.