diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-27 21:12:29 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-27 21:12:29 +0000 |
commit | 81868891205c4cbe8f5e3f16b0642412c5dbcaa0 (patch) | |
tree | c92cadbce5ef13a5ed789d2d86ee6f1d1a59c46d | |
parent | 7086aae378d85dd84f5ca3dc8c374bb4cabe29b0 (diff) |
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
-rw-r--r-- | regparse.c | 24 |
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); |