-#define PERL_CORE
-#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
int new_len = strlen(new_value);
char* old_linestr = SvPVX(PL_linestr);
- SvGROW(PL_linestr, strlen(new_value));
+ if (SvLEN(PL_linestr) < new_len) {
+ croak("forced to realloc PL_linestr for line %s, bailing out before we crash harder", SvPVX(PL_linestr));
+ }
- if (SvPVX(PL_linestr) != old_linestr)
- Perl_croak(aTHX_ "forced to realloc PL_linestr for line %s, bailing out before we crash harder", SvPVX(PL_linestr));
+ SvGROW(PL_linestr, new_len);
memcpy(SvPVX(PL_linestr), new_value, new_len+1);
char* dd_clear_lex_stuff(pTHX) {
if (DD_HAVE_PARSER)
- PL_lex_stuff = Nullsv;
+ PL_lex_stuff = (SV*)NULL;
}
char* dd_get_curstash_name(pTHX) {