difforig Devel-Size-0.69 2008-03-16 13:41:59 diff -ub Devel-Size-0.69/Size.xs.orig --- Devel-Size-0.69/Size.xs.orig 2007-08-12 11:13:44.000000000 +0200 +++ Devel-Size-0.69/Size.xs 2008-03-16 13:39:29.984375000 +0100 @@ -198,12 +198,17 @@ UV total_size = 0; total_size += sizeof(REGEXP); - /* Note hte size of the paren offset thing */ +#if (PERL_VERSION < 11) + /* Note the size of the paren offset thing */ total_size += sizeof(I32) * baseregex->nparens * 2; total_size += strlen(baseregex->precomp); - +#else + total_size += sizeof(struct regexp); + total_size += sizeof(I32) * SvANY(baseregex)->nparens * 2; + /*total_size += strlen(SvANY(baseregex)->subbeg);*/ +#endif if (go_yell && !regex_whine) { - carp("Devel::Size: Calculated sizes for compiled regexes are incomple, and probably always will be"); + carp("Devel::Size: Calculated sizes for compiled regexes are incompatible, and probably always will be"); regex_whine = 1; } @@ -383,12 +388,14 @@ total_size += sizeof(NV); #endif break; +#if (PERL_VERSION < 11) /* Is it a reference? */ case SVt_RV: #ifndef NEW_HEAD_LAYOUT total_size += sizeof(XRV); #endif break; +#endif /* How about a plain string? In which case we need to add in how much has been allocated */ case SVt_PV: