diff options
author | Karl Williamson <khw@cpan.org> | 2022-06-20 20:49:47 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-06-20 21:22:19 -0600 |
commit | 34e6ab8ffa5a21acdac8ec7371b60f950cfe8ff6 (patch) | |
tree | 9762a544c993e82bf871c8711c9e50b14c6b3985 /mg.c | |
parent | 5da55c47184ab936397150bf2c6674c7cf4f88d1 (diff) | |
download | perl-34e6ab8ffa5a21acdac8ec7371b60f950cfe8ff6.tar.gz |
SvRTRIM: Ensure param eval'd exactly once
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -724,15 +724,16 @@ Perl_magic_regdatum_set(pTHX_ SV *sv, MAGIC *mg) NORETURN_FUNCTION_END; } -#define SvRTRIM(sv) STMT_START { \ - if (SvPOK(sv)) { \ - STRLEN len = SvCUR(sv); \ - char * const p = SvPVX(sv); \ - while (len > 0 && isSPACE(p[len-1])) \ - --len; \ - SvCUR_set(sv, len); \ - p[len] = '\0'; \ - } \ +#define SvRTRIM(sv) STMT_START { \ + SV * sv_ = sv; \ + if (SvPOK(sv_)) { \ + STRLEN len = SvCUR(sv_); \ + char * const p = SvPVX(sv_); \ + while (len > 0 && isSPACE(p[len-1])) \ + --len; \ + SvCUR_set(sv_, len); \ + p[len] = '\0'; \ + } \ } STMT_END void |