aboutsummaryrefslogtreecommitdiffstats
path: root/regparse.c
diff options
context:
space:
mode:
authorduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-11-27 21:12:29 +0000
committerduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-11-27 21:12:29 +0000
commit81868891205c4cbe8f5e3f16b0642412c5dbcaa0 (patch)
treec92cadbce5ef13a5ed789d2d86ee6f1d1a59c46d /regparse.c
parent7086aae378d85dd84f5ca3dc8c374bb4cabe29b0 (diff)
downloadruby-81868891205c4cbe8f5e3f16b0642412c5dbcaa0.tar.gz
declare array for sequence at start of code creating sequence
In function node_extended_grapheme_cluster(), move declaration up so that block encompasses all of the regular expression creation that finally makes up the sequence. Having blocks like this will be great because it directly shows the extent of code belonging to each subexpression of the regular expression being created. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regparse.c')
-rw-r--r--regparse.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/regparse.c b/regparse.c
index 69f700986c..f15280ede0 100644
--- a/regparse.c
+++ b/regparse.c
@@ -5901,20 +5901,18 @@ node_extended_grapheme_cluster(Node** np, ScanEnv* env)
np1 = NULL;
/* L* LVT T* */
- r = quantify_property_node(&np1, env, "Grapheme_Cluster_Break=L", 0, REPEAT_INFINITE);
- if (r != 0) goto err;
- r = create_property_node(&np2, env, "Grapheme_Cluster_Break=LVT");
- if (r != 0) goto err;
- r = quantify_property_node(&np3, env, "Grapheme_Cluster_Break=T", 0, REPEAT_INFINITE);
- if (r != 0) goto err;
+ {
+ Node* seq[4];
+
+ r = quantify_property_node(seq+0, env, "Grapheme_Cluster_Break=L", 0, REPEAT_INFINITE);
+ if (r != 0) goto err;
+ r = create_property_node(seq+1, env, "Grapheme_Cluster_Break=LVT");
+ if (r != 0) goto err;
+ r = quantify_property_node(seq+2, env, "Grapheme_Cluster_Break=T", 0, REPEAT_INFINITE);
+ if (r != 0) goto err;
- { /* poor man's varargs :-) */
- Node* sequence[] = { NULL_NODE, NULL_NODE, NULL_NODE, NULL_NODE };
- sequence[0] = np1;
- sequence[1] = np2;
- sequence[2] = np3;
- create_sequence_node(&list2, sequence);
- np1 = np2 = np3 = NULL;
+ seq[3] = NULL_NODE;
+ create_sequence_node(&list2, seq);
}
tmp = onig_node_new_alt(list2, alt);