From efef2c63084235c5296ac05ad9ce023495195897 Mon Sep 17 00:00:00 2001 From: normal Date: Thu, 13 Aug 2015 00:02:01 +0000 Subject: load.c (features_index_add): avoid repeat calculation Reduce cognitive overhead, eye strain and keep lines less than 80 columns to benefit users of giant fonts (honestly I prefer 64 column wrap :P). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- load.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'load.c') diff --git a/load.c b/load.c index 47c3bfe67c..0a8aedaa4d 100644 --- a/load.c +++ b/load.c @@ -239,16 +239,19 @@ features_index_add(VALUE feature, VALUE offset) p = ext ? ext : feature_end; while (1) { + long beg; + p--; while (p >= feature_str && *p != '/') p--; if (p < feature_str) break; /* Now *p == '/'. We reach this point for every '/' in `feature`. */ - short_feature = rb_str_subseq(feature, p + 1 - feature_str, feature_end - p - 1); + beg = p + 1 - feature_str; + short_feature = rb_str_subseq(feature, beg, feature_end - p - 1); features_index_add_single(short_feature, offset); if (ext) { - short_feature = rb_str_subseq(feature, p + 1 - feature_str, ext - p - 1); + short_feature = rb_str_subseq(feature, beg, ext - p - 1); features_index_add_single(short_feature, offset); } } -- cgit v1.2.3