]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/props.cxx
Remove unneeded inclusions of windows.h, GL.h and GLU.H
[simgear.git] / simgear / props / props.cxx
index c0f2119d78aaabb93ff388d3e98a9a3828310384..a4f78ab07a3ea4be6d21c0ed5af8640f7c3565f9 100644 (file)
@@ -9,38 +9,35 @@
 #include "props.hxx"
 
 #include <algorithm>
+
 #include <sstream>
 #include <stdio.h>
 #include <string.h>
 
 #if PROPS_STANDALONE
-
 #include <iostream>
-using std::cerr;
-using std::endl;
-using std::find;
-using std::sort;
-using std::vector;
-using std::stringstream;
-
 #else
 
 #include <simgear/compiler.h>
 #include <simgear/debug/logstream.hxx>
 
-SG_USING_STD(sort);
-SG_USING_STD(find);
-SG_USING_STD(vector);
-SG_USING_STD(stringstream);
-
 #if ( _MSC_VER == 1200 )
 // MSVC 6 is buggy, and needs something strange here
 SG_USING_STD(vector<SGPropertyNode_ptr>);
 SG_USING_STD(vector<SGPropertyChangeListener *>);
 SG_USING_STD(vector<SGPropertyNode *>);
 #endif
+#endif
 
+#if PROPS_STANDALONE
+using std::cerr;
 #endif
+using std::endl;
+using std::find;
+using std::sort;
+using std::string;
+using std::vector;
+using std::stringstream;
 
 
 \f
@@ -116,7 +113,7 @@ parse_name (const string &path, int &i)
       name = ".";
     }
     if (i < max && path[i] != '/')
-      throw string("Illegal character after " + name);
+      throw string("illegal character after " + name);
   }
 
   else if (isalpha(path[i]) || path[i] == '_') {
@@ -295,7 +292,7 @@ find_node (SGPropertyNode * current,
   else if (components[position].name == "..") {
     SGPropertyNode * parent = current->getParent();
     if (parent == 0)
-      throw string("Attempt to move past root with '..'");
+      throw string("attempt to move past root with '..'");
     else
       return find_node(parent, components, position + 1, create);
   }
@@ -595,11 +592,11 @@ void
 SGPropertyNode::trace_write () const
 {
 #if PROPS_STANDALONE
-  cerr << "TRACE: Write node " << getPath () << ", value\""
+  cerr << "TRACE: Write node " << getPath () << ", value \""
        << make_string() << '"' << endl;
 #else
   SG_LOG(SG_GENERAL, SG_ALERT, "TRACE: Write node " << getPath()
-        << ", value\"" << make_string() << '"');
+        << ", value \"" << make_string() << '"');
 #endif
 }
 
@@ -627,7 +624,7 @@ SGPropertyNode::trace_read () const
  * Last used attribute
  * Update as needed when enum Attribute is changed
  */
-const int SGPropertyNode::LAST_USED_ATTRIBUTE = TRACE_WRITE;
+const int SGPropertyNode::LAST_USED_ATTRIBUTE = USERARCHIVE;
 
 /**
  * Default constructor: always creates a root node.
@@ -739,7 +736,11 @@ SGPropertyNode::SGPropertyNode (const char * name,
     _attr(READ|WRITE),
     _listeners(0)
 {
-  _name = name;
+  int i = 0;
+  _name = parse_name(name, i);
+  if (i != int(strlen(name)) || name[0] == '.')
+    throw string("plain name expected instead of '") + name + '\'';
+
   _local_val.string_val = 0;
 }