]> granicus.if.org Git - re2c/commitdiff
Use size_t to store the length of path in skeleton.
authorUlya Trofimovich <skvadrik@gmail.com>
Sun, 9 Aug 2015 19:01:52 +0000 (20:01 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Sun, 9 Aug 2015 19:01:52 +0000 (20:01 +0100)
Though this length shouldn't actually excedd 32 bits (othewise
too much data will be generated, and that is checked), it's better
to use size_t and don't care about the order of checks.

re2c/src/codegen/skeleton/path.cc
re2c/src/codegen/skeleton/path.h

index ff2c6ca81bb3ff3c18f6abee5fab71b1a841bfce..750e8aea43fc66dd84d08d300ad54e4f64d94818 100644 (file)
@@ -6,7 +6,7 @@ namespace re2c
 namespace skeleton
 {
 
-Path::Path (const chars_t & cs, uint32_t l, rule_rank_t r)
+Path::Path (const chars_t & cs, size_t l, rule_rank_t r)
        : chars (cs)
        , length (l)
        , rule (r)
@@ -34,7 +34,8 @@ void Path::append (const Path * p)
                length = chars.size () + p->length;
                rule = p->rule;
        }
-       for (uint32_t i = 0; i < p->chars.size (); ++i)
+       const size_t sz = p->chars.size ();
+       for (size_t i = 0; i < sz; ++i)
        {
                chars.push_back (p->chars[i]);
        }
index b24e20a048ccafc4c81c9abd11aeeefb92e3e491..9fc2cbf7aec49bc33742369245147c075a83f9ec 100644 (file)
@@ -17,10 +17,10 @@ struct Path
        typedef std::vector<uint32_t> chars_t;
 
        chars_t chars;
-       uint32_t length;
+       size_t length;
        rule_rank_t rule;
 
-       Path (const chars_t & cs, uint32_t l, rule_rank_t r);
+       Path (const chars_t & cs, size_t l, rule_rank_t r);
        void update (rule_rank_t r);
        void extend (rule_rank_t r, uint32_t c);
        void append (const Path * p);