X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlapi.pod;h=0738dfbf73b4d3dc7b2e6a3065cd4b8d32f54a39;hb=9f2f055aa1e8c86d97b5ea42473ab1747f518f3a;hp=18619e5609a07c5b7203a16a6f607a596d940dab;hpb=fe9845cc7694fe04f66831f3e3d7db0a47720cfc;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlapi.pod b/pod/perlapi.pod index 18619e5..0738dfb 100644 --- a/pod/perlapi.pod +++ b/pod/perlapi.pod @@ -237,7 +237,7 @@ X Returns the highest index in the array. The number of elements in the array is C. Returns -1 if the array is empty. - I32 av_len(const AV *av) + I32 av_len(AV *av) =for hackers Found in file av.c @@ -279,7 +279,8 @@ Found in file av.c =item av_shift X -Shifts an SV off the beginning of the array. +Shifts an SV off the beginning of the array. Returns C<&PL_sv_undef> if the +array is empty. SV* av_shift(AV *av) @@ -835,9 +836,6 @@ Found in file dump.c =item pv_escape X - |const STRLEN count|const STRLEN max - |STRLEN const *escaped, const U32 flags - Escapes at most the first "count" chars of pv and puts the results into dsv such that the size of the escaped string will not exceed "max" chars and will not contain any incomplete escape sequences. @@ -872,8 +870,6 @@ sequences, whereas '%' is not a particularly common character in patterns. Returns a pointer to the escaped text as held by dsv. -NOTE: the perl_ form of this function is deprecated. - char* pv_escape(SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags) =for hackers @@ -882,10 +878,6 @@ Found in file dump.c =item pv_pretty X - |const STRLEN count|const STRLEN max\ - |const char const *start_color| const char const *end_color\ - |const U32 flags - Converts a string into something presentable, handling escaping via pv_escape() and supporting quoting and ellipses. @@ -905,8 +897,6 @@ any quotes or ellipses. Returns a pointer to the prettified text as held by dsv. -NOTE: the perl_ form of this function is deprecated. - char* pv_pretty(SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags) =for hackers @@ -3931,6 +3921,23 @@ Found in file sv.h =over 8 +=item croak_xs_usage +X + +A specialised variant of C for emitting the usage message for xsubs + + croak_xs_usage(cv, "eee_yow"); + +works out the package name and subroutine name from C, and then calls +C. Hence if C is C<&ouch::awk>, it would call C as: + + Perl_croak(aTHX_ "Usage %s::%s(%s)", "ouch" "awk", "eee_yow"); + + void croak_xs_usage(const CV *const cv, const char *const params) + +=for hackers +Found in file universal.c + =item get_sv X @@ -5108,7 +5115,7 @@ X Creates an RV wrapper for an SV. The reference count for the original SV is B incremented. - SV* newRV_noinc(SV* sv) + SV* newRV_noinc(SV *const sv) =for hackers Found in file sv.c @@ -5127,7 +5134,7 @@ This aid has been superseded by a new build option, PERL_MEM_LOG (see L). The older API is still there for use in XS modules supporting older perls. - SV* newSV(STRLEN len) + SV* newSV(const STRLEN len) =for hackers Found in file sv.c @@ -5139,7 +5146,7 @@ Creates a new SV from the hash key structure. It will generate scalars that point to the shared string table where possible. Returns a new (undefined) SV if the hek is NULL. - SV* newSVhek(const HEK *hek) + SV* newSVhek(const HEK *const hek) =for hackers Found in file sv.c @@ -5150,7 +5157,7 @@ X Creates a new SV and copies an integer into it. The reference count for the SV is set to 1. - SV* newSViv(IV i) + SV* newSViv(const IV i) =for hackers Found in file sv.c @@ -5161,7 +5168,7 @@ X Creates a new SV and copies a floating point value into it. The reference count for the SV is set to 1. - SV* newSVnv(NV n) + SV* newSVnv(const NV n) =for hackers Found in file sv.c @@ -5173,7 +5180,7 @@ Creates a new SV and copies a string into it. The reference count for the SV is set to 1. If C is zero, Perl will compute the length using strlen(). For efficiency, consider using C instead. - SV* newSVpv(const char* s, STRLEN len) + SV* newSVpv(const char *const s, const STRLEN len) =for hackers Found in file sv.c @@ -5184,7 +5191,7 @@ X Creates a new SV and initializes it with the string formatted like C. - SV* newSVpvf(const char* pat, ...) + SV* newSVpvf(const char *const pat, ...) =for hackers Found in file sv.c @@ -5197,7 +5204,7 @@ SV is set to 1. Note that if C is zero, Perl will create a zero length string. You are responsible for ensuring that the source string is at least C bytes long. If the C argument is NULL the new SV will be undefined. - SV* newSVpvn(const char* s, STRLEN len) + SV* newSVpvn(const char *const s, const STRLEN len) =for hackers Found in file sv.c @@ -5217,7 +5224,7 @@ C is a convenience wrapper for this function, defined as #define newSVpvn_utf8(s, len, u) \ newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0) - SV* newSVpvn_flags(const char* s, STRLEN len, U32 flags) + SV* newSVpvn_flags(const char *const s, const STRLEN len, const U32 flags) =for hackers Found in file sv.c @@ -5278,7 +5285,7 @@ it will be upgraded to one. If C is non-null then the new SV will be blessed in the specified package. The new SV is returned and its reference count is 1. - SV* newSVrv(SV* rv, const char* classname) + SV* newSVrv(SV *const rv, const char *const classname) =for hackers Found in file sv.c @@ -5289,7 +5296,7 @@ X Creates a new SV which is an exact duplicate of the original SV. (Uses C). - SV* newSVsv(SV* old) + SV* newSVsv(SV *const old) =for hackers Found in file sv.c @@ -5300,7 +5307,7 @@ X Creates a new SV and copies an unsigned integer into it. The reference count for the SV is set to 1. - SV* newSVuv(UV u) + SV* newSVuv(const UV u) =for hackers Found in file sv.c @@ -5322,7 +5329,7 @@ X This function is only called on magical items, and is only used by sv_true() or its macro equivalent. - bool sv_2bool(SV* sv) + bool sv_2bool(SV *const sv) =for hackers Found in file sv.c @@ -5334,7 +5341,7 @@ Using various gambits, try to get a CV from an SV; in addition, try if possible to set C<*st> and C<*gvp> to the stash and GV associated with it. The flags in C are passed to sv_fetchsv. - CV* sv_2cv(SV* sv, HV** st, GV** gvp, I32 lref) + CV* sv_2cv(SV* sv, HV **const st, GV **const gvp, const I32 lref) =for hackers Found in file sv.c @@ -5346,7 +5353,7 @@ Using various gambits, try to get an IO from an SV: the IO slot if its a GV; or the recursive result if we're an RV; or the IO slot of the symbol named after the PV if we're a string. - IO* sv_2io(SV* sv) + IO* sv_2io(SV *const sv) =for hackers Found in file sv.c @@ -5372,7 +5379,7 @@ statement boundaries. SvTEMP() is turned on which means that the SV's string buffer can be "stolen" if this SV is copied. See also C and C. - SV* sv_2mortal(SV* sv) + SV* sv_2mortal(SV *const sv) =for hackers Found in file sv.c @@ -5411,7 +5418,7 @@ to its length. May cause the SV to be upgraded to UTF-8 as a side-effect. Usually accessed via the C macro. - char* sv_2pvutf8(SV* sv, STRLEN* lp) + char* sv_2pvutf8(SV *const sv, STRLEN *const lp) =for hackers Found in file sv.c @@ -5460,7 +5467,7 @@ Blesses an SV into a specified package. The SV must be an RV. The package must be designated by its stash (see C). The reference count of the SV is unaffected. - SV* sv_bless(SV* sv, HV* stash) + SV* sv_bless(SV *const sv, HV *const stash) =for hackers Found in file sv.c @@ -5472,7 +5479,7 @@ Concatenates the string onto the end of the string which is in the SV. If the SV has the UTF-8 status set, then the bytes appended should be valid UTF-8. Handles 'get' magic, but not 'set' magic. See C. - void sv_catpv(SV* sv, const char* ptr) + void sv_catpv(SV *const sv, const char* ptr) =for hackers Found in file sv.c @@ -5488,7 +5495,7 @@ upgraded to UTF-8. Handles 'get' magic, but not 'set' magic. See C. If the original SV was UTF-8, the pattern should be valid UTF-8; if the original SV was bytes, the pattern should be too. - void sv_catpvf(SV* sv, const char* pat, ...) + void sv_catpvf(SV *const sv, const char *const pat, ...) =for hackers Found in file sv.c @@ -5498,7 +5505,7 @@ X Like C, but also handles 'set' magic. - void sv_catpvf_mg(SV *sv, const char* pat, ...) + void sv_catpvf_mg(SV *const sv, const char *const pat, ...) =for hackers Found in file sv.c @@ -5526,7 +5533,7 @@ If C has C bit set, will C on C if appropriate, else not. C and C are implemented in terms of this function. - void sv_catpvn_flags(SV *dstr, const char *sstr, STRLEN len, I32 flags) + void sv_catpvn_flags(SV *const dstr, const char *sstr, const STRLEN len, const I32 flags) =for hackers Found in file sv.c @@ -5546,7 +5553,7 @@ X Like C, but also handles 'set' magic. - void sv_catpv_mg(SV *sv, const char *ptr) + void sv_catpv_mg(SV *const sv, const char *const ptr) =for hackers Found in file sv.c @@ -5571,7 +5578,7 @@ SV C. Modifies C but not C. If C has C bit set, will C on the SVs if appropriate, else not. C and C are implemented in terms of this function. - void sv_catsv_flags(SV* dsv, SV* ssv, I32 flags) + void sv_catsv_flags(SV *const dsv, SV *const ssv, const I32 flags) =for hackers Found in file sv.c @@ -5586,7 +5593,7 @@ string. Uses the "OOK hack". Beware: after this function returns, C and SvPVX_const(sv) may no longer refer to the same chunk of data. - void sv_chop(SV* sv, const char* ptr) + void sv_chop(SV *const sv, const char *const ptr) =for hackers Found in file sv.c @@ -5602,7 +5609,7 @@ This function should only be called when REFCNT is zero. Most of the time you'll want to call C (or its macro wrapper C) instead. - void sv_clear(SV* sv) + void sv_clear(SV *const sv) =for hackers Found in file sv.c @@ -5615,7 +5622,7 @@ string in C is less than, equal to, or greater than the string in C. Is UTF-8 and 'use bytes' aware, handles get magic, and will coerce its args to strings if necessary. See also C. - I32 sv_cmp(SV* sv1, SV* sv2) + I32 sv_cmp(SV *const sv1, SV *const sv2) =for hackers Found in file sv.c @@ -5627,7 +5634,7 @@ Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and 'use bytes' aware, handles get magic, and will coerce its args to strings if necessary. See also C. - I32 sv_cmp_locale(SV* sv1, SV* sv2) + I32 sv_cmp_locale(SV *const sv1, SV *const sv2) =for hackers Found in file sv.c @@ -5642,7 +5649,7 @@ scalar data of the variable, but transformed to such a format that a normal memory comparison can be used to compare the data according to the locale settings. - char* sv_collxfrm(SV* sv, STRLEN* nxp) + char* sv_collxfrm(SV *const sv, STRLEN *const nxp) =for hackers Found in file sv.c @@ -5669,7 +5676,7 @@ X Auto-decrement of the value in the SV, doing string to numeric conversion if necessary. Handles 'get' magic. - void sv_dec(SV* sv) + void sv_dec(SV *const sv) =for hackers Found in file sv.c @@ -5699,7 +5706,7 @@ set to some other value.) In addition, the C parameter gets passed to C when unrefing. C calls this function with flags set to 0. - void sv_force_normal_flags(SV *sv, U32 flags) + void sv_force_normal_flags(SV *const sv, const U32 flags) =for hackers Found in file sv.c @@ -5712,7 +5719,7 @@ C to invoke destructors and free up any memory used by the body; finally, deallocate the SV's head itself. Normally called via a wrapper macro C. - void sv_free(SV* sv) + void sv_free(SV *const sv) =for hackers Found in file sv.c @@ -5723,7 +5730,7 @@ X Get a line from the filehandle and store it into the SV, optionally appending to the currently-stored string. - char* sv_gets(SV* sv, PerlIO* fp, I32 append) + char* sv_gets(SV *const sv, PerlIO *const fp, I32 append) =for hackers Found in file sv.c @@ -5746,7 +5753,7 @@ X Auto-increment of the value in the SV, doing string to numeric conversion if necessary. Handles 'get' magic. - void sv_inc(SV* sv) + void sv_inc(SV *const sv) =for hackers Found in file sv.c @@ -5755,9 +5762,19 @@ Found in file sv.c X Inserts a string at the specified offset/length within the SV. Similar to -the Perl substr() function. +the Perl substr() function. Handles get magic. + + void sv_insert(SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen) + +=for hackers +Found in file sv.c + +=item sv_insert_flags +X + +Same as C, but the extra C are passed the C that applies to C. - void sv_insert(SV *bigstr, STRLEN offset, STRLEN len, const char *little, STRLEN littlelen) + void sv_insert_flags(SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen, const U32 flags) =for hackers Found in file sv.c @@ -5769,7 +5786,7 @@ Returns a boolean indicating whether the SV is blessed into the specified class. This does not check for subtypes; use C to verify an inheritance relationship. - int sv_isa(SV* sv, const char* name) + int sv_isa(SV* sv, const char *const name) =for hackers Found in file sv.c @@ -5792,7 +5809,7 @@ X Returns the length of the string in the SV. Handles magic and type coercion. See also C, which gives raw access to the xpv_cur slot. - STRLEN sv_len(SV* sv) + STRLEN sv_len(SV *const sv) =for hackers Found in file sv.c @@ -5803,7 +5820,7 @@ X Returns the number of characters in the string in an SV, counting wide UTF-8 bytes as a single character. Handles magic and type coercion. - STRLEN sv_len_utf8(SV* sv) + STRLEN sv_len_utf8(SV *const sv) =for hackers Found in file sv.c @@ -5820,7 +5837,7 @@ handling of the C and C arguments. You need to use C to add magic to SvREADONLY SVs and also to add more than one instance of the same 'how'. - void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen) + void sv_magic(SV *const sv, SV *const obj, const int how, const char *const name, const I32 namlen) =for hackers Found in file sv.c @@ -5842,7 +5859,7 @@ to contain an C and is stored as-is with its REFCNT incremented. (This is now used as a subroutine by C.) - MAGIC * sv_magicext(SV* sv, SV* obj, int how, const MGVTBL *vtbl, const char* name, I32 namlen) + MAGIC * sv_magicext(SV *const sv, SV *const obj, const int how, const MGVTBL *const vtbl, const char *const name, const I32 namlen) =for hackers Found in file sv.c @@ -5855,7 +5872,7 @@ The new SV is marked as mortal. It will be destroyed "soon", either by an explicit call to FREETMPS, or by an implicit call at places such as statement boundaries. See also C and C. - SV* sv_mortalcopy(SV* oldsv) + SV* sv_mortalcopy(SV *const oldsv) =for hackers Found in file sv.c @@ -5879,7 +5896,7 @@ X Increment an SV's reference count. Use the C wrapper instead. - SV* sv_newref(SV* sv) + SV* sv_newref(SV *const sv) =for hackers Found in file sv.c @@ -5891,7 +5908,7 @@ Converts the value pointed to by offsetp from a count of bytes from the start of the string, to a count of the equivalent number of UTF-8 chars. Handles magic and type coercion. - void sv_pos_b2u(SV* sv, I32* offsetp) + void sv_pos_b2u(SV *const sv, I32 *const offsetp) =for hackers Found in file sv.c @@ -5905,7 +5922,7 @@ lenp is non-zero, it does the same to lenp, but this time starting from the offset, rather than from the start of the string. Handles magic and type coercion. - void sv_pos_u2b(SV* sv, I32* offsetp, I32* lenp) + void sv_pos_u2b(SV *const sv, I32 *const offsetp, I32 *const lenp) =for hackers Found in file sv.c @@ -5915,7 +5932,7 @@ X The backend for the C macro. Always use the macro instead. - char* sv_pvbyten_force(SV* sv, STRLEN* lp) + char* sv_pvbyten_force(SV *const sv, STRLEN *const lp) =for hackers Found in file sv.c @@ -5942,7 +5959,7 @@ implemented in terms of this function. You normally want to use the various wrapper macros instead: see C and C - char* sv_pvn_force_flags(SV* sv, STRLEN* lp, I32 flags) + char* sv_pvn_force_flags(SV *const sv, STRLEN *const lp, const I32 flags) =for hackers Found in file sv.c @@ -5952,7 +5969,7 @@ X The backend for the C macro. Always use the macro instead. - char* sv_pvutf8n_force(SV* sv, STRLEN* lp) + char* sv_pvutf8n_force(SV *const sv, STRLEN *const lp) =for hackers Found in file sv.c @@ -5962,7 +5979,7 @@ X Returns a string describing what the SV is a reference to. - const char* sv_reftype(const SV* sv, int ob) + const char* sv_reftype(const SV *const sv, const int ob) =for hackers Found in file sv.c @@ -5977,7 +5994,7 @@ and any magic in the source is discarded. Note that this is a rather specialist SV copying operation; most of the time you'll want to use C or one of its many macro front-ends. - void sv_replace(SV* sv, SV* nsv) + void sv_replace(SV *const sv, SV *const nsv) =for hackers Found in file sv.c @@ -5988,7 +6005,7 @@ X Underlying implementation for the C Perl function. Note that the perl-level function is vaguely deprecated. - void sv_reset(const char* s, HV* stash) + void sv_reset(const char* s, HV *const stash) =for hackers Found in file sv.c @@ -6002,7 +6019,7 @@ push a back-reference to this RV onto the array of backreferences associated with that magic. If the RV is magical, set magic will be called after the RV is cleared. - SV* sv_rvweaken(SV *sv) + SV* sv_rvweaken(SV *const sv) =for hackers Found in file sv.c @@ -6055,7 +6072,7 @@ X Copies a string into an SV. The string must be null-terminated. Does not handle 'set' magic. See C. - void sv_setpv(SV* sv, const char* ptr) + void sv_setpv(SV *const sv, const char *const ptr) =for hackers Found in file sv.c @@ -6066,7 +6083,7 @@ X Works like C but copies the text into the SV instead of appending it. Does not handle 'set' magic. See C. - void sv_setpvf(SV* sv, const char* pat, ...) + void sv_setpvf(SV *const sv, const char *const pat, ...) =for hackers Found in file sv.c @@ -6076,7 +6093,7 @@ X Like C, but also handles 'set' magic. - void sv_setpvf_mg(SV *sv, const char* pat, ...) + void sv_setpvf_mg(SV *const sv, const char *const pat, ...) =for hackers Found in file sv.c @@ -6087,7 +6104,7 @@ X Copies an integer into the given SV, also updating its string value. Does not handle 'set' magic. See C. - void sv_setpviv(SV* sv, IV num) + void sv_setpviv(SV *const sv, const IV num) =for hackers Found in file sv.c @@ -6097,7 +6114,7 @@ X Like C, but also handles 'set' magic. - void sv_setpviv_mg(SV *sv, IV iv) + void sv_setpviv_mg(SV *const sv, const IV iv) =for hackers Found in file sv.c @@ -6109,7 +6126,7 @@ Copies a string into an SV. The C parameter indicates the number of bytes to be copied. If the C argument is NULL the SV will become undefined. Does not handle 'set' magic. See C. - void sv_setpvn(SV* sv, const char* ptr, STRLEN len) + void sv_setpvn(SV *const sv, const char *const ptr, const STRLEN len) =for hackers Found in file sv.c @@ -6119,7 +6136,7 @@ X Like C, but also handles 'set' magic. - void sv_setpvn_mg(SV *sv, const char *ptr, STRLEN len) + void sv_setpvn_mg(SV *const sv, const char *const ptr, const STRLEN len) =for hackers Found in file sv.c @@ -6139,7 +6156,7 @@ X Like C, but also handles 'set' magic. - void sv_setpv_mg(SV *sv, const char *ptr) + void sv_setpv_mg(SV *const sv, const char *const ptr) =for hackers Found in file sv.c @@ -6153,7 +6170,7 @@ the new SV. The C argument indicates the package for the blessing. Set C to C to avoid the blessing. The new SV will have a reference count of 1, and the RV will be returned. - SV* sv_setref_iv(SV* rv, const char* classname, IV iv) + SV* sv_setref_iv(SV *const rv, const char *const classname, const IV iv) =for hackers Found in file sv.c @@ -6167,7 +6184,7 @@ the new SV. The C argument indicates the package for the blessing. Set C to C to avoid the blessing. The new SV will have a reference count of 1, and the RV will be returned. - SV* sv_setref_nv(SV* rv, const char* classname, NV nv) + SV* sv_setref_nv(SV *const rv, const char *const classname, const NV nv) =for hackers Found in file sv.c @@ -6187,7 +6204,7 @@ objects will become corrupted by the pointer copy process. Note that C copies the string while this copies the pointer. - SV* sv_setref_pv(SV* rv, const char* classname, void* pv) + SV* sv_setref_pv(SV *const rv, const char *const classname, void *const pv) =for hackers Found in file sv.c @@ -6204,7 +6221,7 @@ of 1, and the RV will be returned. Note that C copies the pointer while this copies the string. - SV* sv_setref_pvn(SV* rv, const char* classname, const char* pv, STRLEN n) + SV* sv_setref_pvn(SV *const rv, const char *const classname, const char *const pv, const STRLEN n) =for hackers Found in file sv.c @@ -6218,7 +6235,7 @@ the new SV. The C argument indicates the package for the blessing. Set C to C to avoid the blessing. The new SV will have a reference count of 1, and the RV will be returned. - SV* sv_setref_uv(SV* rv, const char* classname, UV uv) + SV* sv_setref_uv(SV *const rv, const char *const classname, const UV uv) =for hackers Found in file sv.c @@ -6261,7 +6278,7 @@ C. This is the primary function for copying scalars, and most other copy-ish functions and macros use this underneath. - void sv_setsv_flags(SV *dstr, SV *sstr, I32 flags) + void sv_setsv_flags(SV *dstr, SV *sstr, const I32 flags) =for hackers Found in file sv.c @@ -6271,7 +6288,7 @@ X Like C, but also handles 'set' magic. - void sv_setsv_mg(SV *dstr, SV *sstr) + void sv_setsv_mg(SV *const dstr, SV *const sstr) =for hackers Found in file sv.c @@ -6301,7 +6318,7 @@ Found in file sv.c X Test an SV for taintedness. Use C instead. - bool sv_tainted(SV* sv) + bool sv_tainted(SV *const sv) =for hackers Found in file sv.c @@ -6313,7 +6330,7 @@ Returns true if the SV has a true value by Perl's rules. Use the C macro instead, which may call C or may instead use an in-line version. - I32 sv_true(SV *sv) + I32 sv_true(SV *const sv) =for hackers Found in file sv.c @@ -6323,7 +6340,7 @@ X Removes all magic of type C from an SV. - int sv_unmagic(SV* sv, int type) + int sv_unmagic(SV *const sv, const int type) =for hackers Found in file sv.c @@ -6339,7 +6356,7 @@ C to force the reference count to be decremented different from one or the reference being a readonly SV). See C. - void sv_unref_flags(SV *ref, U32 flags) + void sv_unref_flags(SV *const ref, const U32 flags) =for hackers Found in file sv.c @@ -6348,7 +6365,7 @@ Found in file sv.c X Untaint an SV. Use C instead. - void sv_untaint(SV* sv) + void sv_untaint(SV *const sv) =for hackers Found in file sv.c @@ -6382,7 +6399,7 @@ SV_HAS_TRAILING_NUL is true, then C must be NUL, and the realloc will be skipped. (i.e. the buffer is actually at least 1 byte longer than C, and already meets the requirements for storing in C) - void sv_usepvn_flags(SV* sv, char* ptr, STRLEN len, U32 flags) + void sv_usepvn_flags(SV *const sv, char* ptr, const STRLEN len, const U32 flags) =for hackers Found in file sv.c @@ -6399,7 +6416,7 @@ Scans PV for validity and returns false if the PV is invalid UTF-8. NOTE: this function is experimental and may change or be removed without notice. - bool sv_utf8_decode(SV *sv) + bool sv_utf8_decode(SV *const sv) =for hackers Found in file sv.c @@ -6418,7 +6435,7 @@ use the Encode extension for that. NOTE: this function is experimental and may change or be removed without notice. - bool sv_utf8_downgrade(SV *sv, bool fail_ok) + bool sv_utf8_downgrade(SV *const sv, const bool fail_ok) =for hackers Found in file sv.c @@ -6429,7 +6446,7 @@ X Converts the PV of an SV to UTF-8, but then turns the C flag off so that it looks like octets again. - void sv_utf8_encode(SV *sv) + void sv_utf8_encode(SV *const sv) =for hackers Found in file sv.c @@ -6463,7 +6480,7 @@ C are implemented in terms of this function. This is not as a general purpose byte encoding to Unicode interface: use the Encode extension for that. - STRLEN sv_utf8_upgrade_flags(SV *sv, I32 flags) + STRLEN sv_utf8_upgrade_flags(SV *const sv, const I32 flags) =for hackers Found in file sv.c @@ -6476,7 +6493,7 @@ to an SV. Does not handle 'set' magic. See C. Usually used via its frontend C. - void sv_vcatpvf(SV* sv, const char* pat, va_list* args) + void sv_vcatpvf(SV *const sv, const char *const pat, va_list *const args) =for hackers Found in file sv.c @@ -6492,7 +6509,7 @@ locales). Usually used via one of its frontends C and C. - void sv_vcatpvfn(SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted) + void sv_vcatpvfn(SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted) =for hackers Found in file sv.c @@ -6504,7 +6521,7 @@ Like C, but also handles 'set' magic. Usually used via its frontend C. - void sv_vcatpvf_mg(SV* sv, const char* pat, va_list* args) + void sv_vcatpvf_mg(SV *const sv, const char *const pat, va_list *const args) =for hackers Found in file sv.c @@ -6517,7 +6534,7 @@ appending it. Does not handle 'set' magic. See C. Usually used via its frontend C. - void sv_vsetpvf(SV* sv, const char* pat, va_list* args) + void sv_vsetpvf(SV *const sv, const char *const pat, va_list *const args) =for hackers Found in file sv.c @@ -6530,7 +6547,7 @@ appending it. Usually used via one of its frontends C and C. - void sv_vsetpvfn(SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted) + void sv_vsetpvfn(SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted) =for hackers Found in file sv.c @@ -6542,7 +6559,7 @@ Like C, but also handles 'set' magic. Usually used via its frontend C. - void sv_vsetpvf_mg(SV* sv, const char* pat, va_list* args) + void sv_vsetpvf_mg(SV *const sv, const char *const pat, va_list *const args) =for hackers Found in file sv.c