I have a blessed SV * that when it runs out of space I need to prepend an extra character at the front. I can do this by mallocing a new chunk of ram, copying the contents from the old sv_pv to the starting at offset 1 and then assigning the address of the new space back into the sv_pv. Simple, but rather inefficient.
What I would like to do is prepend an extra 100 characters to the front (as above) and then juggle the PVX, CUR and LEN fields of the SV to allow perl to see only one of the new bytes. Then on subsequent occasions when I need a new characters, adjust PVX and CUR to provide it from the reserve with out needing to realloc and copy. Seems logical, but my attempts to make it work keeps traping.
Is this possible without breaking when the SV is used by Perl? Are there any macros to help? Or examples? Or can someone show me how to do it?
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.