Lines Matching defs:str
81 S_save_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
89 Copy(str, HEK_KEY(hek), len, char);
96 Safefree(str);
1932 * len and hash must both be valid for str.
1935 Perl_unsharepvn(pTHX_ const char *str, I32 len, U32 hash)
1937 unshare_hek_or_pvn (NULL, str, len, hash);
1948 hek if non-NULL takes priority over the other 3, else str, len and hash
1949 are used. If so, len and hash must both be valid for str.
1952 S_unshare_hek_or_pvn(pTHX_ HEK *hek, const char *str, I32 len, U32 hash)
1961 const char *save = str;
1969 str = (char*)bytes_from_utf8((U8*)str, &tmplen, &is_utf8);
1973 if (str != save)
1980 hv_delete(PL_strtab, str, len, G_DISCARD, hash);
2001 if (HeKEY(entry) != str && memNE(HeKEY(entry),str,len)) /* is this it? */
2025 hek ? HEK_KEY(hek) : str,
2028 Safefree(str);
2033 * len and hash must both be valid for str.
2036 Perl_share_hek(pTHX_ const char *str, I32 len, register U32 hash)
2040 const char *save = str;
2046 str = (char*)bytes_from_utf8((U8*)str, &tmplen, &is_utf8);
2055 if (str != save)
2059 return share_hek_flags (str, len, hash, flags);
2063 S_share_hek_flags(pTHX_ const char *str, I32 len, register U32 hash, int flags)
2074 if (!(Svp = hv_fetch(PL_strtab, str, len, FALSE)))
2075 hv_store(PL_strtab, str, len, Nullsv, hash);
2090 if (HeKEY(entry) != str && memNE(HeKEY(entry),str,len)) /* is this it? */
2099 HeKEY_hek(entry) = save_hek_flags(str, len, hash, flags_masked);
2115 Safefree(str);