]> git.mxchange.org Git - simgear.git/commitdiff
Fix a problem where older IRIX compilers needed a typecast for certain opperations
authorehofman <ehofman>
Thu, 16 Oct 2003 12:51:47 +0000 (12:51 +0000)
committerehofman <ehofman>
Thu, 16 Oct 2003 12:51:47 +0000 (12:51 +0000)
simgear/compatibility/IRIX [new file with mode: 0644]
simgear/compatibility/Makefile.am
simgear/compiler.h
simgear/io/sg_socket.cxx
simgear/misc/tabbed_values_test.cxx
simgear/props/props.cxx
simgear/props/props_io.cxx
simgear/structure/exception.cxx

diff --git a/simgear/compatibility/IRIX b/simgear/compatibility/IRIX
new file mode 100644 (file)
index 0000000..1711739
--- /dev/null
@@ -0,0 +1,43 @@
+
+#ifndef __SGI_HXX
+#define __SGI_HXX
+
+#include <string>
+
+inline bool
+operator!=( const std::string& lhs, const char* rhs)
+{
+    return lhs.compare( rhs ) != 0;
+}
+
+inline bool
+operator!=( const char* lhs, const std::string& rhs)
+{
+    return rhs.compare( lhs ) != 0;
+}
+
+inline bool
+operator==( const std::string& lhs, const char* rhs)
+{
+    return lhs.compare( rhs ) == 0;
+}
+
+inline bool
+operator==( const char* lhs, const std::string& rhs)
+{
+    return rhs.compare( lhs ) == 0;
+}
+
+inline std::string
+operator+(const std::string& lhs, const char* rhs)
+{
+    return lhs + std::string(rhs);
+}
+
+inline std::string
+operator+(const char* lhs, const std::string& rhs)
+{
+    return std::string(lhs) + rhs;
+}
+
+#endif // !__SGI_HXX
index 25427d3eeb95c243ae16f4c01226a447cd32af40..7cdc91e4bf86fd2bcb4b173238962ef56a9b9db2 100644 (file)
@@ -28,4 +28,6 @@ include_HEADERS       = \
        ctime \
        iomanip \
        new \
-       streambuf
+       streambuf \
+       \
+       IRIX
index 6fd52c5e3f6934c0c3067e356179f60d9378501c..9bf82093326e4ee243580a9593266bfeb523096a 100644 (file)
 #if defined ( sgi ) && !defined( __GNUC__ )
 #  define SG_HAVE_NATIVE_SGI_COMPILERS
 
+#include <simgear/compatibility/IRIX>
+
 #  define SG_EXPLICIT_FUNCTION_TMPL_ARGS
 #  define SG_CLASS_PARTIAL_SPECIALIZATION
 #  define SG_NEED_AUTO_PTR
index 20238727c3373e96706386f2ab15e75f1fa05941..0ac45a80e407a8875d5193c7d497ee54a29abc3e 100644 (file)
@@ -54,7 +54,7 @@ SGSocket::SGSocket( const string& host, const string& port_,
     {
        is_tcp = true;
     }
-    else if ( style != (string)"udp" )
+    else if ( style != "udp" )
     {
        SG_LOG( SG_IO, SG_ALERT,
                "Error: SGSocket() unknown style = " << style );
index 90825009a835567fa7275eefdd618f21ab568e87..0a5dfee0f2060c92e509bd5afe8fa52c50eb7c57 100644 (file)
@@ -18,17 +18,17 @@ int main (int ac, char ** av)
        
        SGTabbedValues tv(string1);
        
-       if (tv[0] != string("Hello")) {
+       if (tv[0] != "Hello") {
                cerr << "failed to read string at index 0" << endl;
                return 1;
        }
        
-       if (tv[1] != string("World")) {
+       if (tv[1] != "World") {
                cerr << "failed to read string at index 1" << endl;
                return 1;
        }
        
-       if (tv[2] != string("34")) {
+       if (tv[2] != "34") {
                cerr << "failed to read string at index 2" << endl;
                return 1;
        }
@@ -61,7 +61,7 @@ int main (int ac, char ** av)
                return 3;
        }
        
-       if (tv[5] != string("There Is No Spoon")) {
+       if (tv[5] != "There Is No Spoon") {
                cerr << "failed to read string at index 5 (got [" << tv[5] << "]" << endl;
                return 1;
        }
index 790aa05c273ae91feacb16cf7c89a6e0a1f33902..c6f5145b1e20bd1cbe5d1afff0d496d1100b191b 100644 (file)
@@ -113,7 +113,7 @@ parse_name (const string &path, int &i)
       name = ".";
     }
     if (i < max && path[i] != '/')
-      throw string(string("Illegal character after ") + name);
+      throw string("Illegal character after " + name);
   }
 
   else if (isalpha(path[i]) || path[i] == '_') {
index e808e0b63bdb9bf7196151f3a1fcbfab86f455c5..92781ea6e3b5a8bfcf80affa4f4b4f5a36893689 100644 (file)
@@ -117,9 +117,9 @@ checkFlag (const char * flag, bool defaultState = true)
 {
   if (flag == 0)
     return defaultState;
-  else if (string(flag) == "y")
+  else if (flag == "y")
     return true;
-  else if (string(flag) == "n")
+  else if (flag == "n")
     return false;
   else {
     string message = "Unrecognized flag value '";
@@ -137,7 +137,7 @@ PropsVisitor::startElement (const char * name, const XMLAttributes &atts)
   const char * attval;
 
   if (_level == 0) {
-    if (string(name) != (string)"PropertyList") {
+    if (name != "PropertyList") {
       string message = "Root element name is ";
       message += name;
       message += "; expected PropertyList";
index 75f4cf50d0368853b48c7ea2bd9d63a400556caf..d7c83b08a3bb9636d88894a4bbe20757746880a8 100644 (file)
@@ -86,7 +86,7 @@ sg_location::asString () const
 {
   char buf[128];
   string out = "";
-  if (_path != (string)"") {
+  if (!_path.empty()) {
     out += _path;
     if (_line != -1 || _column != -1)
       out += ",\n";