]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - Upper.xs
Prefer STMT_{START,END} over do/while(0)
[perl/modules/Scope-Upper.git] / Upper.xs
index 799a2f38b63ba48f3efc2ec7b105c3f7034f466c..801f719963491eefa200c25ea0f2835984a71b48 100644 (file)
--- a/Upper.xs
+++ b/Upper.xs
@@ -76,8 +76,7 @@ STATIC I32 su_av_preeminent(pTHX_ AV *av, I32 key) {
  MAGIC *mg;
  HV *stash;
 
- if (!av)
-  return 0;
+ if (!av) return 0;
  if (SvCANEXISTDELETE(av))
   return av_exists(av, key);
 
@@ -131,8 +130,7 @@ STATIC I32 su_hv_preeminent(pTHX_ HV *hv, SV *keysv) {
  MAGIC *mg;
  HV *stash;
 
- if (!hv)
-  return 0;
+ if (!hv) return 0;
  if (SvCANEXISTDELETE(hv) || mg_find((SV *) hv, PERL_MAGIC_env))
   return hv_exists_ent(hv, keysv, 0);
 
@@ -145,13 +143,13 @@ STATIC void su_save_helem(pTHX_ HV *hv, SV *keysv, SV **svp, I32 preeminent) {
   save_gp((GV *) *svp, 0);
   return;
  }
- if (!preeminent) {
+ if (preeminent)
+  save_helem(hv, keysv, svp);
+ else {
   STRLEN keylen;
   const char * const key = SvPV_const(keysv, keylen);
   SAVEDELETE(hv, savepvn(key, keylen),
                  SvUTF8(keysv) ? -(I32)keylen : (I32)keylen);
- } else {
-  save_helem(hv, keysv, svp);
  }
 }
 
@@ -167,10 +165,10 @@ typedef struct {
 #define SU_UD_ORIGIN(U)  (((su_ud_common *) (U))->origin)
 #define SU_UD_HANDLER(U) (((su_ud_common *) (U))->handler)
 
-#define SU_UD_FREE(U) do { \
+#define SU_UD_FREE(U) STMT_START { \
  if (SU_UD_ORIGIN(U)) Safefree(SU_UD_ORIGIN(U)); \
  Safefree(U); \
-} while (0)
+} STMT_END
 
 /* ... Reap ................................................................ */