diff options
author | Adrian Thurston <thurston@colm.net> | 2021-02-07 15:19:14 -0800 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2021-02-07 15:20:07 -0800 |
commit | 976a7cbbf97a33ed92d900a72c36d1de6bfa90cf (patch) | |
tree | 22107aab9df1813c01b86ea40a8b613d51aa7744 /test/rlparse.d/load.cc | |
parent | de6591bcc5b0689f78f54c2826d5934eb8073b39 (diff) | |
download | colm-976a7cbbf97a33ed92d900a72c36d1de6bfa90cf.tar.gz |
fix: make string pointers from locals, not temp strings
fixes #127
Diffstat (limited to 'test/rlparse.d/load.cc')
-rw-r--r-- | test/rlparse.d/load.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/rlparse.d/load.cc b/test/rlparse.d/load.cc index 234c3f7a..4e834520 100644 --- a/test/rlparse.d/load.cc +++ b/test/rlparse.d/load.cc @@ -2245,13 +2245,16 @@ struct LoadRagel void loadNfaRoundSpec( long &depth, long &groups, ragel::nfa_round_spec Spec ) { - const char *depthText = Spec.Depth().text().c_str(); + string depthStr = Spec.Depth().text(); + string groupStr = Spec.Group().text(); + + const char *depthText = depthStr.c_str(); errno = 0; depth = strtol( depthText, 0, 10 ); if ( depth == LONG_MAX && errno == ERANGE ) pd->id->error(Spec.Depth().loc()) << "depth " << depthText << " overflows" << endl; - const char *groupText = Spec.Group().text().c_str(); + const char *groupText = groupStr.c_str(); errno = 0; groups = strtol( groupText, 0, 10 ); if ( depth == LONG_MAX && errno == ERANGE ) |