Ilya's idea for cleaning up failed regex allocs (substantive parts
Gurusamy Sarathy [Sun, 7 Feb 1999 12:39:09 +0000 (12:39 +0000)]
disabled, fails tests)

p4raw-id: //depot/perl@2822

regcomp.h

index fef317a..1a139c5 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -186,8 +186,19 @@ struct regnode_2 {
 #define UCHARAT(p)     PL_regdummy
 #endif /* lint */
 
-#define        FAIL(m)         croak    ("/%.127s/: %s",  PL_regprecomp,m)
-#define        FAIL2(pat,m)    re_croak2("/%.127s/: ",pat,PL_regprecomp,m)
+#define        FAIL(m) \
+    STMT_START {                                       \
+       /*if (!SIZE_ONLY)                               \
+           ReREFCNT_dec(PL_regcomp_rx);*/              \
+       croak    ("/%.127s/: %s",  PL_regprecomp,m);    \
+    } STMT_END
+
+#define        FAIL2(pat,m) \
+    STMT_START {                                       \
+       /*if (!SIZE_ONLY)                               \
+           ReREFCNT_dec(PL_regcomp_rx);*/              \
+       re_croak2("/%.127s/: ",pat,PL_regprecomp,m);    \
+    } STMT_END
 
 #define EXTRA_SIZE(guy) ((sizeof(guy)-1)/sizeof(struct regnode))