about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--010vm.cc4
-rw-r--r--014literal_string.cc6
2 files changed, 5 insertions, 5 deletions
diff --git a/010vm.cc b/010vm.cc
index ee18a171..67dd0e1a 100644
--- a/010vm.cc
+++ b/010vm.cc
@@ -57,7 +57,7 @@ struct reagent {
   double value;
   bool initialized;
   // End reagent Fields
-  reagent(string s);
+  reagent(const string& s);
   reagent() :type(NULL), value(0), initialized(false) {}
   ~reagent();
   void clear();
@@ -258,7 +258,7 @@ void instruction::clear() { is_label=false; label.clear(); name.clear(); old_nam
 bool instruction::is_empty() { return !is_label && name.empty(); }
 
 // Reagents have the form <name>:<type>:<type>:.../<property>/<property>/...
-reagent::reagent(string s) :original_string(s), type(NULL), value(0), initialized(false) {
+reagent::reagent(const string& s) :original_string(s), type(NULL), value(0), initialized(false) {
   // Parsing reagent(string s)
   istringstream in(s);
   in >> std::noskipws;
diff --git a/014literal_string.cc b/014literal_string.cc
index a195c195..26d7375d 100644
--- a/014literal_string.cc
+++ b/014literal_string.cc
@@ -107,10 +107,10 @@ void slurp_quoted_comment_aware(istream& in, ostream& out) {
 :(after "Parsing reagent(string s)")
 if (s.at(0) == '[') {
   assert(*s.rbegin() == ']');
-  // delete [] delimiters
-  s.erase(0, 1);
-  strip_last(s);
   name = s;
+  // delete [] delimiters
+  name.erase(0, 1);
+  strip_last(name);
   type = new type_tree("literal-string", 0);
   return;
 }