Hi all,

When working on my project, I noticed a few issues with the version of 
equalizer in git.  I've attached three patches with the fixes that work for me. 
 I've also pushed a repository containing these fixes at 
git://git.mjdsystems.ca/equalizer.git , inside of the branch fixes1.

Description of the patches:

missing_libs.patch: I noticed a few libs are not linked into collage.  These 
add them, though they may be posix only.
quote_fix.patch: The commandline run by the server is missing a quote.  This 
adds it.
safety_check.patch: Due to the above patch missing, the client would seg fault 
everytime due to an off by one error.  This fixes the check and adds an 
appropriate error message.


Hope that helps,

Matthew
diff --git a/libs/collage/base/CMakeLists.txt b/libs/collage/base/CMakeLists.txt
index a95e66a..5b9eafa 100644
--- a/libs/collage/base/CMakeLists.txt
+++ b/libs/collage/base/CMakeLists.txt
@@ -20,4 +20,6 @@ purple_add_library(co_base ${CO_LIB_VARIANT}
     ${COBASE_HEADERS}
   LINK_LIBRARIES
     ${PTHREAD_LIBRARIES}
+    dl
+    rt
   )
diff --git a/libs/server/node.cpp b/libs/server/node.cpp
index ea41dc4..722267f 100644
--- a/libs/server/node.cpp
+++ b/libs/server/node.cpp
@@ -424,7 +424,7 @@ std::string Node::_createRemoteCommand()
     stringStream
         << quote << program << quote << " -- --eq-client " << quote
         << remoteData << workDir << CO_SEPARATOR << ownData << quote 
-        << " --co-globals " << collageGlobals << quote;
+        << " --co-globals " << quote << collageGlobals << quote;
 
     return stringStream.str();
 }
diff --git a/libs/collage/localNode.cpp b/libs/collage/localNode.cpp
index fb666f3..6046ce7 100644
--- a/libs/collage/localNode.cpp
+++ b/libs/collage/localNode.cpp
@@ -112,7 +112,7 @@ bool LocalNode::initLocal( const int argc, char** argv )
     {
         if( std::string( "--eq-listen" ) == argv[i] )
         {
-            if( i<argc && argv[i+1][0] != '-' )
+            if( (i+1)<argc && argv[i+1][0] != '-' )
             {
                 std::string data = argv[++i];
                 ConnectionDescriptionPtr desc = new ConnectionDescription;
@@ -126,10 +126,14 @@ bool LocalNode::initLocal( const int argc, char** argv )
                 else
                     EQWARN << "Ignoring listen option: " << argv[i] <<std::endl;
             }
+            else
+            {
+                EQWARN << "No argument given to --eq-listen!" << std::endl;
+            }
         }
         else if ( std::string( "--co-globals" ) == argv[i] )
         {
-            if( i<argc && argv[i+1][0] != '-' )
+            if( (i+1)<argc && argv[i+1][0] != '-' )
             {
                 const std::string data = argv[++i];
                 if( !Global::fromString( data ))
@@ -138,6 +142,10 @@ bool LocalNode::initLocal( const int argc, char** argv )
                            << ", using default global variables." << std::endl;
                 }
             }
+            else
+            {
+                EQWARN << "No argument given to --co-globals!" << std::endl;
+            }
         }
     }
     

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to