Re: [PATCH blead] Use SvGETMAGIC more often

2005-08-23 Thread Rafael Garcia-Suarez
Rick Delaney wrote:
 The attached patch replaces some code with the equivalent macro.

Thanks, applied as change #25322.


[PATCH blead] Use SvGETMAGIC more often

2005-08-22 Thread Rick Delaney
The attached patch replaces some code with the equivalent macro.

-- 
Rick Delaney
[EMAIL PROTECTED]
diff -rpuN perl-current/doio.c perl-current-dev/doio.c
--- perl-current/doio.c 2005-08-10 05:41:12.0 -0400
+++ perl-current-dev/doio.c 2005-08-22 12:03:52.703777956 -0400
@@ -1308,8 +1308,7 @@ Perl_do_print(pTHX_ register SV *sv, Per
return TRUE;
 case SVt_IV:
if (SvIOK(sv)) {
-   if (SvGMAGICAL(sv))
-   mg_get(sv);
+   SvGETMAGIC(sv);
if (SvIsUV(sv))
PerlIO_printf(fp, %UVuf, (UV)SvUVX(sv));
else
diff -rpuN perl-current/pp.c perl-current-dev/pp.c
--- perl-current/pp.c   2005-08-06 12:23:11.0 -0400
+++ perl-current-dev/pp.c   2005-08-22 12:29:32.020914765 -0400
@@ -505,8 +505,8 @@ PP(pp_ref)
 const char *pv;
 SV * const sv = POPs;
 
-if (sv  SvGMAGICAL(sv))
-   mg_get(sv);
+if (sv)
+   SvGETMAGIC(sv);
 
 if (!sv || !SvROK(sv))
RETPUSHNO;
@@ -755,8 +755,7 @@ PP(pp_defined)
RETPUSHYES;
break;
 default:
-   if (SvGMAGICAL(sv))
-   mg_get(sv);
+   SvGETMAGIC(sv);
if (SvOK(sv))
RETPUSHYES;
 }
@@ -1384,8 +1383,7 @@ PP(pp_repeat)
   {
 register IV count;
 dPOPss;
-if (SvGMAGICAL(sv))
-mg_get(sv);
+SvGETMAGIC(sv);
 if (SvIOKp(sv)) {
 if (SvUOK(sv)) {
  const UV uv = SvUV(sv);
@@ -2223,8 +2221,8 @@ PP(pp_bit_and)
 dSP; dATARGET; tryAMAGICbin(band,opASSIGN);
 {
   dPOPTOPssrl;
-  if (SvGMAGICAL(left)) mg_get(left);
-  if (SvGMAGICAL(right)) mg_get(right);
+  SvGETMAGIC(left);
+  SvGETMAGIC(right);
   if (SvNIOKp(left) || SvNIOKp(right)) {
if (PL_op-op_private  HINT_INTEGER) {
  const IV i = SvIV_nomg(left)  SvIV_nomg(right);
@@ -2248,8 +2246,8 @@ PP(pp_bit_xor)
 dSP; dATARGET; tryAMAGICbin(bxor,opASSIGN);
 {
   dPOPTOPssrl;
-  if (SvGMAGICAL(left)) mg_get(left);
-  if (SvGMAGICAL(right)) mg_get(right);
+  SvGETMAGIC(left);
+  SvGETMAGIC(right);
   if (SvNIOKp(left) || SvNIOKp(right)) {
if (PL_op-op_private  HINT_INTEGER) {
  const IV i = (USE_LEFT(left) ? SvIV_nomg(left) : 0) ^ 
SvIV_nomg(right);
@@ -2273,8 +2271,8 @@ PP(pp_bit_or)
 dSP; dATARGET; tryAMAGICbin(bor,opASSIGN);
 {
   dPOPTOPssrl;
-  if (SvGMAGICAL(left)) mg_get(left);
-  if (SvGMAGICAL(right)) mg_get(right);
+  SvGETMAGIC(left);
+  SvGETMAGIC(right);
   if (SvNIOKp(left) || SvNIOKp(right)) {
if (PL_op-op_private  HINT_INTEGER) {
  const IV i = (USE_LEFT(left) ? SvIV_nomg(left) : 0) | 
SvIV_nomg(right);
@@ -2299,8 +2297,7 @@ PP(pp_negate)
 {
dTOPss;
const int flags = SvFLAGS(sv);
-   if (SvGMAGICAL(sv))
-   mg_get(sv);
+   SvGETMAGIC(sv);
if ((flags  SVf_IOK) || ((flags  (SVp_IOK | SVp_NOK)) == SVp_IOK)) {
/* It's publicly an integer, or privately an integer-not-float */
oops_its_an_int:
@@ -2376,8 +2373,7 @@ PP(pp_complement)
 dSP; dTARGET; tryAMAGICun(compl);
 {
   dTOPss;
-  if (SvGMAGICAL(sv))
- mg_get(sv);
+  SvGETMAGIC(sv);
   if (SvNIOKp(sv)) {
if (PL_op-op_private  HINT_INTEGER) {
  const IV i = ~SvIV_nomg(sv);
diff -rpuN perl-current/pp_ctl.c perl-current-dev/pp_ctl.c
--- perl-current/pp_ctl.c   2005-08-22 11:16:26.0 -0400
+++ perl-current-dev/pp_ctl.c   2005-08-22 12:33:56.412387458 -0400
@@ -1126,10 +1126,8 @@ PP(pp_flop)
 if (GIMME == G_ARRAY) {
dPOPPOPssrl;
 
-   if (SvGMAGICAL(left))
-   mg_get(left);
-   if (SvGMAGICAL(right))
-   mg_get(right);
+   SvGETMAGIC(left);
+   SvGETMAGIC(right);
 
if (RANGE_IS_NUMERIC(left,right)) {
register IV i, j;
@@ -1543,8 +1541,7 @@ PP(pp_dorassign)
RETURN;
break;
 default:
-   if (SvGMAGICAL(sv))
-   mg_get(sv);
+   SvGETMAGIC(sv);
if (SvOK(sv))
RETURN;
 }
diff -rpuN perl-current/pp_hot.c perl-current-dev/pp_hot.c
--- perl-current/pp_hot.c   2005-07-20 05:37:43.0 -0400
+++ perl-current-dev/pp_hot.c   2005-08-22 12:38:52.632212515 -0400
@@ -169,8 +169,7 @@ PP(pp_concat)
 }
 else { /* TARG == left */
 STRLEN llen;
-   if (SvGMAGICAL(left))
-   mg_get(left);   /* or mg_get(left) may happen here */
+   SvGETMAGIC(left);   /* or mg_get(left) may happen here */
if (!SvOK(TARG))
sv_setpvn(left, , 0);
(void)SvPV_nomg_const(left, llen);/* Needed to set UTF8 flag */
@@ -350,8 +349,7 @@ PP(pp_dor)
RETURN;
break;
 default:
-   if (SvGMAGICAL(sv))
-   mg_get(sv);
+   SvGETMAGIC(sv);
if (SvOK(sv))
RETURN;
 }
@@ -2914,8 +2912,7 @@ PP(pp_aelem)
 void
 Perl_vivify_ref(pTHX_ SV *sv, U32 to_what)
 {
-if