Code

Node tool: special case node duplication for endnodes - select new endnode
[inkscape.git] / src / extension / db.h
index 264e7653925fc31a138fa6ef39512cf39f134384..bc07c859199705e3a9deea726b4b5735f2bd8e90 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <map>
 #include <list>
+#include <cstring>
 
 #include "extension/extension.h"
 
@@ -29,7 +30,13 @@ private:
         to find the different extensions in the hash map. */
     struct ltstr {
         bool operator()(const char* s1, const char* s2) const {
-            return strcmp(s1, s2) < 0;
+            if ( (s1 == NULL) && (s2 != NULL) ) {
+                return true;
+            } else if (s1 == NULL || s2 == NULL) {
+                return false;
+            } else {
+                return strcmp(s1, s2) < 0;
+            }
         }
     };
     /** This is the actual database.  It has all of the modules in it,
@@ -58,7 +65,7 @@ public:
     typedef std::list<Input *> InputList;
     typedef std::list<Effect *> EffectList;
 
-    InputList  &get_input_list (InputList &ou_list);
+    InputList  &get_input_list  (InputList &ou_list);
     OutputList &get_output_list (OutputList &ou_list);
     EffectList &get_effect_list (EffectList &ou_list);
 }; /* class DB */
@@ -78,4 +85,4 @@ extern DB db;
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :