diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-02 23:28:42 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-02 23:28:42 +0000 |
commit | b56e266d6450e21575edf3af355c9723faa0ba97 (patch) | |
tree | 7491db1a3288900e58dda127cdf4fed78bff784e | |
parent | 4a8531db5df048bc1f46154b861d751807a08a1d (diff) |
remove unnecessary settings with NULL_NODE in \X implementation
Remove unnecessary settings of node_array elements to NULL_NODE.
We can do this because we initialize the whole array to NULL_NODEs
and set everything again to NULL_NODEs when creating a sequence or
alternative node.
Also, fix an index error in the initialization of node_array.
(issue #15343)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | regparse.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/regparse.c b/regparse.c index b476815cfe..77876b0023 100644 --- a/regparse.c +++ b/regparse.c @@ -5849,7 +5849,7 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) Node **seq = node_array; /* seq[5] */ Node **alts = node_array+5; /* alts[4] */ - for (i=0; i<8; i++) + for (i=0; i<NODE_ARRAY_SIZE; i++) node_array[i] = NULL_NODE; if (propname2ctype(env, "Grapheme_Cluster_Break=Extend") < 0) goto err; @@ -5932,7 +5932,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) R_ERR(create_property_node(seq+1, env, "Grapheme_Cluster_Break=LVT")); R_ERR(quantify_property_node(seq+2, env, "Grapheme_Cluster_Break=T", '*')); - seq[3] = NULL_NODE; R_ERR(create_sequence_node(&list2, seq)); } @@ -5948,7 +5947,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) R_ERR(quantify_property_node(seq+2, env, "Grapheme_Cluster_Break=V", '*')); R_ERR(quantify_property_node(seq+3, env, "Grapheme_Cluster_Break=T", '*')); - seq[4] = NULL_NODE; R_ERR(create_sequence_node(&list2, seq)); } @@ -5963,7 +5961,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) R_ERR(quantify_property_node(seq+1, env, "Grapheme_Cluster_Break=V", '+')); R_ERR(quantify_property_node(seq+2, env, "Grapheme_Cluster_Break=T", '*')); - seq[3] = NULL_NODE; R_ERR(create_sequence_node(&list2, seq)); } @@ -5996,7 +5993,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) if (IS_NULL(seq[1])) goto err; R_ERR(quantify_node(seq+1, 0, 1)); - seq[2] = NULL_NODE; R_ERR(create_sequence_node(alts+0, seq)); } @@ -6011,7 +6007,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) R_ERR(quantify_property_node(seq+1, env, "Grapheme_Cluster_Break=Extend", '*')); - seq[2] = NULL_NODE; R_ERR(create_sequence_node(alts+1, seq)); } @@ -6021,11 +6016,9 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) R_ERR(quantify_property_node(seq+1, env, "Grapheme_Cluster_Break=Extend", '*')); R_ERR(quantify_property_node(seq+2, env, "Grapheme_Cluster_Break=E_Modifier", '?')); - seq[3] = NULL_NODE; R_ERR(create_sequence_node(alts+2, seq)); } - alts[3] = NULL_NODE; R_ERR(create_alternate_node(&alt2, alts)); } @@ -6108,7 +6101,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) R_ERR(quantify_property_node(seq+2, env, "Grapheme_Cluster_Break=E_Modifier", '?')); - seq[3] = NULL_NODE; R_ERR(create_sequence_node(&list2, seq)); } /* End of ZWJ (E_Base_GAZ | Glue_After_Zwj) E_Modifier? */ @@ -6167,7 +6159,6 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env) if (IS_NULL(seq[1])) goto err; R_ERR(quantify_node(seq+1, 0, 1)); - seq[2] = NULL_NODE; R_ERR(create_sequence_node(&list2, seq)); } |