Patch: document reg_data.what member
Mark-Jason Dominus [Thu, 12 Jul 2001 14:25:32 +0000 (10:25 -0400)]
Message-ID: <20010712182532.14821.qmail@plover.com>

p4raw-id: //depot/perl@11322

regcomp.c
regcomp.h

index 209743e..575bd43 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -4586,6 +4586,7 @@ Perl_pregfree(pTHX_ struct regexp *r)
        SV** old_curpad;
 
        while (--n >= 0) {
+          /* If you add a ->what type here, update the comment in regcomp.h */
            switch (r->data->what[n]) {
            case 's':
                SvREFCNT_dec((SV*)r->data->data[n]);
index b9542c9..b336bec 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -350,6 +350,15 @@ typedef struct re_scream_pos_data_s
     I32 *scream_pos;           /* Internal iterator of scream. */
 } re_scream_pos_data;
 
+/* .what is a character array with one character for each member of .data
+ * The character describes the function of the corresponding .data item:
+ *   f - start-class data for regstclass optimization  
+ *   n - Root of op tree for (?{EVAL}) item
+ *   o - Start op for (?{EVAL}) item
+ *   p - Pad for (?{EVAL} item
+ *   s - swash for unicode-style character class
+ * 20010712 mjd@plover.com
+ */
 struct reg_data {
     U32 count;
     U8 *what;