[nemiver] Handle ":" in pending bp attrs (Closes: #602074)



commit 0561a7b2f778a1a7f8452e62debe612e439d0abf
Author: Dodji Seketeli <dodji redhat com>
Date:   Sun Dec 6 17:29:20 2009 +0100

    Handle ":" in pending bp attrs (Closes: #602074)
    
    	* src/dbgengine/nmv-gdbmi-parser.cc (GDBMIParser::parse_breakpoint):
    	Handle ':' appearing in the middle of the content of the 'pending'
    	attribute of breakpoint objects. This is tricky since normally, ':'
    	appearing at the end of the string delimits the file path and the
    	line number when the breakpoint has been set to a linux - as opposed
    	to a breakpoint set on a function.
    	* tests/test-gdbmi.cc (test_breakpoint_table, test_breakpoint): Add
    	new test cases.

 src/dbgengine/nmv-gdbmi-parser.cc |   80 +++++++++++++++++++++++++++----------
 tests/test-gdbmi.cc               |   28 +++++++++++-
 2 files changed, 84 insertions(+), 24 deletions(-)
---
diff --git a/src/dbgengine/nmv-gdbmi-parser.cc b/src/dbgengine/nmv-gdbmi-parser.cc
index ff8a27f..788bbda 100644
--- a/src/dbgengine/nmv-gdbmi-parser.cc
+++ b/src/dbgengine/nmv-gdbmi-parser.cc
@@ -2073,25 +2073,63 @@ GDBMIParser::parse_breakpoint (Glib::ustring::size_type a_from,
         LOG_D ("got pending breakpoint: '" << pending << "'",
                GDBMI_OUTPUT_DOMAIN);
         vector<UString> str_tab;
-        //pending contains either the name of the function the breakpoint
-        //has been set on, or the filename:linenumber location of the
-        //breakpoint.
-        //So either pending has the form:
-        //"ns::functionname" or it has the form "filename:linenumber"
-        bool breakpoint_on_function_name = false;
-        if (pending.raw ().find ("::") != std::string::npos) {
-            breakpoint_on_function_name = true;
-        }
-        if (!breakpoint_on_function_name) {
-            str_tab = pending.split (":");
-        } else {
+        // pending contains either the name of the function the breakpoint
+        // has been set on, or the filename:linenumber location of the
+        // breakpoint.
+        // So if the pending string has the form
+        // "path_to_filename:linenumber", with linenumber being an actual
+        // number and being at the end of the string, then we know it's not
+        // a function name.
+        // Bear in mind that ':' can also be part of the path name. So we
+        // really need to detect if the last ':' is the separator betwen
+        // path and line number.
+        std::string::size_type colon_pos;
+        if ((colon_pos = pending.raw ().find_last_of (":"))
+            == std::string::npos) {
             str_tab.push_back (pending);
+        } else {
+            // Is what comes after the comma a legit number?
+            bool is_number = true;
+            std::string::size_type str_len = colon_pos;
+
+            if (colon_pos + 1 >= pending.raw ().length ())
+                is_number = false;
+            // Loop to make sure the thing after the ':' is an actual
+            // number.
+            std::string::size_type i;
+            for (i = colon_pos + 1;
+                 i < pending.raw ().length ();
+                 ++i) {
+                if (!isdigit (pending.raw ()[i])) {
+                    is_number = false;
+                    break;
+                }
+            }
+            bool number_is_at_end_of_pending = (i >= pending.raw ().length ());
+
+            if (is_number && number_is_at_end_of_pending) {
+                string file_name, line_num;
+
+                for (string::size_type i = 0; i < str_len; ++i)
+                    file_name.push_back (pending.raw ()[i]);
+
+                for (string::size_type i = colon_pos + 1;
+                     i < pending.raw ().length ();
+                     ++i)
+                    line_num.push_back (pending.raw ()[i]);
+
+                str_tab.push_back (file_name);
+                str_tab.push_back (line_num);
+            } else {
+                str_tab.push_back (pending);
+            }
         }
-        //from now on, if str_tab.size () == 2 then it contains
-        //the filename and line number of the breakpoint.
-        //if it str_tab.size () == 1 then it contains the function name
-        //the breakpoint was set on.
-        //Otherwise an error occured
+
+        // from now on, if str_tab.size () == 2 then it contains
+        // the filename and line number of the breakpoint.
+        // if it str_tab.size () == 1 then it contains the function name
+        // the breakpoint was set on.
+        // Otherwise an error occured
         if (str_tab.size () > 1) {
             LOG_D ("filepath: '" << str_tab[0] << "'", GDBMI_OUTPUT_DOMAIN);
             LOG_D ("linenum: '" << str_tab[1] << "'", GDBMI_OUTPUT_DOMAIN);
@@ -2115,10 +2153,10 @@ GDBMIParser::parse_breakpoint (Glib::ustring::size_type a_from,
     }
 
     map<UString, UString>::iterator iter, null_iter = attrs.end ();
-    //we use to require that the "fullname" property be present as
-    //well, but it seems that a lot debug info set got shipped without
-    //that property. Client code should do what they can with the
-    //file property only.
+    // we use to require that the "fullname" property be present as
+    // well, but it seems that a lot debug info set got shipped without
+    // that property. Client code should do what they can with the
+    // file property only.
     if (   (iter = attrs.find ("number"))  == null_iter
             || (iter = attrs.find ("type"))    == null_iter
             || (iter = attrs.find ("disp"))    == null_iter
diff --git a/tests/test-gdbmi.cc b/tests/test-gdbmi.cc
index f81996b..16ba020 100644
--- a/tests/test-gdbmi.cc
+++ b/tests/test-gdbmi.cc
@@ -146,12 +146,18 @@ static const char* gv_breakpoint_table2 =
 static const char* gv_breakpoint_table3 =
 "BreakpointTable={nr_rows=\"3\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"18\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x000000000044f7d0\",func=\"internal_error\",file=\"utils.c\",fullname=\"/home/dodji/devel/git/archer.git/gdb/utils.c\",line=\"964\",times=\"0\"},bkpt={number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x000000000048ec10\",func=\"info_command\",file=\".././gdb/cli/cli-cmds.c\",fullname=\"/home/dodji/devel/git/archer.git/gdb/cli/cli-cmds.c\",line=\"198\",times=\"0\",script={\"silent\",\"return\"}},bkpt={number=\"3\",type=\"breakpoint\",di
 sp=\"keep\",enabled=\"y\",addr=\"0x0000000000446ec0\",func=\"main\",file=\"gdb.c\",fullname=\"/home/dodji/devel/git/archer.git/gdb/gdb.c\",line=\"26\",times=\"1\"}]}";
 
+static const char* gv_breakpoint_table4 =
+"BreakpointTable={nr_rows=\"2\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"18\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x000000000040aca0\",func=\"main\",file=\"main.cpp\",fullname=\"/home/philip/nemiver:temp/main.cpp\",line=\"77\",times=\"1\",original-location=\"main\"},bkpt={number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"<PENDING>\",pending=\"/home/philip/nemiver:temp/main.cpp:78\",times=\"0\",original-location=\"/home/philip/nemiver:temp/main.cpp:78\"}]}";
+
 static const char* gv_breakpoint0 =
 "bkpt={number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"<MULTIPLE>\",times=\"0\",original-location=\"/home/dodji/devel/srcs/test.cc:36\"}";
 
 static const char* gv_breakpoint1 =
 "bkpt={number=\"3\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x0000000000480210\",at=\"<exit plt>\",times=\"0\",original-location=\"exit\"}";
 
+static const char* gv_breakpoint2 =
+"bkpt={number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"<PENDING>\",pending=\"/home/philip/nemiver:temp/main.cpp:78\",times=\"0\",original-location=\"/home/philip/nemiver:temp/main.cpp:78\"}";
+
 static const char* gv_file_list1 =
 "files=[{file=\"fooprog.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/tests/fooprog.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/locale_facets.h\",fullname=\"/usr/include/c++/4.3.2/bits/locale_facets.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/ctype_base.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/ctype_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/numeric_traits.h\",fullname=\"/usr/include/c++/4.3.2/ext/numeric_traits.h\"},{file=\"/usr/include/wctype.h\",fullname=\"/usr/include/wctype.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/locale_classes.h\",fullname=\"/usr/include/c++/4.3.2/bits/locale_classes.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.tcc\"}
 ,{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stringfwd.h\",fullname=\"/usr/include/c++/4.3.2/bits/stringfwd.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/atomic_word.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/atomic_word.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\"},{file=\"/usr/include/bits/pthreadtypes.h\",fullname=\"/usr/include/bits/pthreadtypes.h\"},{file=\"/usr/include/locale.h\",fullname=\"/usr/include/locale.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/include/_G_config.h\",fullname=\"/usr/include/_G_config.h\"},{file=\"/usr/include/bits/types.h\",fullname=\"/usr/include/bits/t
 ypes.h\"},{file=\"/usr/include/time.h\",fullname=\"/usr/include/time.h\"},{file=\"/usr/include/wchar.h\",fullname=\"/usr/include/wchar.h\"},{file=\"/home/dodji/.ccache/fooprog.tmp.tutu.605.ii\"},{file=\"/usr/include/libio.h\",fullname=\"/usr/include/libio.h\"},{file=\"/usr/include/stdio.h\",fullname=\"/usr/include/stdio.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/stddef.h\",fullname=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/stddef.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/debug.h\",fullname=\"/usr/include/c++/4.3.2/debug/debug.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/cpp_type_traits.h\",fullname=\"/usr/include/c++/4.3.2/bits/cpp_type_traits.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../inclu
 de/c++/4.3.2/cwctype\",fullname=\"/usr/include/c++/4.3.2/cwctype\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/ios_base.h\",fullname=\"/usr/include/c++/4.3.2/bits/ios_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/clocale\",fullname=\"/usr/include/c++/4.3.2/clocale\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/cstdio\",fullname=\"/usr/include/c++/4.3.2/cstdio\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/cwchar\",fullname=\"/usr/include/c++/4.3.2/cwchar\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/cstddef\",fullname=\"/usr/include/c++/4.3.2/cstddef\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/iostream\",fulln
 ame=\"/usr/include/c++/4.3.2/iostream\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/iostream\",fullname=\"/usr/include/c++/4.3.2/iostream\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/list.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/list.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algo.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algo.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-proc-mgr.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_
 64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_list.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_list.h\"},{file=\"nmv-proc-mgr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-proc-mgr.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-proc-mgr.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-proc-utils.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/refptr.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/refptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4
 .3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/backward/auto_ptr.h\",fullname=\"/usr/include/c++/4.3.2/backward/auto_ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"nmv-proc-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-proc-utils.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redh
 at-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"nmv-delete-statement.cc\"},{file=\"nmv-sql-statement.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-delete-statement.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-delete-statement.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fulln
 ame=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/..
 /../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-insert-statement.cc\"},{file=\"nmv-sql-statement.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-insert-statement.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-insert-statement.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-sql-statement.cc\"},{file=\"nmv-sql-statement.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-sql-statement.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++
 /4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/deque.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/deque.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3
 .2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_stack.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_stack.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"nmv-transaction.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_deque.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_deque.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-transaction.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-transaction.cc\"},{file=\"nmv-tools.cc\"},{file=\"nmv-transaction.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/u
 string.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-buffer.h\"},{file=\"nmv-tools.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-tools.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"nmv-conf-manager.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_constru
 ct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../.
 ./../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-libxml-utils.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/ios_base.h\",fullname=\"/usr/include/c++/4.3.2/bits/ios_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-conf-manager.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-conf-manager.cc\"},{file=\"/usr/l
 ib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/in
 clude/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-parsing-utils.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-parsing-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-parsing-utils.cc\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-connection.cc\"},{file=\"nmv-connection.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/com
 mon/nmv-connection.cc\"},{file=\"nmv-dynamic-module.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-connection-manager.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-i-connection-manager-driver.h\"},{file=\"nmv-connection-manager.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-connection-manager.cc\"},{file=\"nmv-option-utils.cc\"},{file=\"nmv-option-utils.h\"},{file=\"nmv-option-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-option-utils.cc\"},{file=\"nmv-sequence.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"nmv-sequence.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-sequence.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-sequence.cc\"},{file=\"nmv-dynamic-module.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bi
 ts/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/u
 sr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../includ
 e/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-plugin.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-plugin.h\"},{file=\"nmv-libxml-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/fileutils.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/fileutils.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-plugin.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-plugin.cc\"},{file=\"/usr/include/glibm
 m-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64
 -redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-env.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-env.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-env.cc\"},{file=\"nmv-date-utils.cc\"},{file=\"nmv-date-utils.cc\",fullname
 =\"/home/dodji/devel/git/nemiver.git/src/common/nmv-date-utils.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"nmv-dynamic-module.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../i
 nclude/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/
 lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"nmv-dynamic-module.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-libxml-utils.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-dynamic-module.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-dynamic-module.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fu
 llname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"nmv-initializer.cc\"},{file=\"nmv-initializer.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-initializer.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-exception.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/stdexcept\",fullname=\"/usr/include/c++/4.3.2/stdexcept\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/exception\",fullname=\"/usr/include/c++/4.3.2/exception\"},{file=\"nmv-exception.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-exception.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-scope-logger.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-scope-logger.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-scope-logger.cc\"},{file=\"/usr/lib/gc
 c/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/tr1_impl/unordered_map\",fullname=\"/usr/include/c++/4.3.2/tr1_impl/unordered_map\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/list.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/list.tcc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/char_traits.h\",fullname=\"/usr/include/c++/4.
 3.2/bits/char_traits.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/iostream\",fullname=\"/usr/include/c++/4.3.2/iostream\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/tr1_impl/hashtable\",fullname=\"/usr/include/c++/4.3.2/tr1_impl/hashtable\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",
 fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_list.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_list.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr
 /lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-log-stream.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/tr1_impl/hashtable_policy.h\",fullname=\"/usr/include/c++/4.3.2/tr1_impl/hashtable_policy.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/ios_base.h\",fullname=\"/usr/include/c++/4.3.2/bits/ios_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-log-stream.cc\",fu
 llname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-log-stream.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-libxml-utils.cc\"},{file=\"nmv-libxml-utils.h\"},{file=\"nmv-libxml-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-libxml-utils.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../
 ../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"nmv-object.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-object.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-object.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file
 =\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/type_traits.h\",fullname=\"/usr/include/c++/4.3.2/ext/type_traits.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr
 /lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/char_traits.h\",fullname=\"/usr/include/c++/4.3.2/bits/char_traits.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.
 3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-ustring.cc\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/atomicity.h\",fullname=\"/usr/include/c++/4.3.2/ext/atomicity.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\"},{file=\"nmv-ustring.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-ustring.cc\"}]";
 
@@ -785,18 +791,26 @@ test_breakpoint_table ()
                          "/home/jonathon/Projects/agave.git/src/main.cc");
     BOOST_REQUIRE_EQUAL (iter->second.line (), 70);
 
-    cur = 0, cur = 0, breakpoints.clear();
+    cur = 0, cur = 0, breakpoints.clear ();
     parser.push_input (gv_breakpoint_table1);
     BOOST_REQUIRE (parser.parse_breakpoint_table (cur, cur, breakpoints));
 
-    cur = 0, cur = 0, breakpoints.clear();
+    cur = 0, cur = 0, breakpoints.clear ();
     parser.push_input (gv_breakpoint_table2);
     BOOST_REQUIRE (parser.parse_breakpoint_table (cur, cur, breakpoints));
 
-    cur = 0, cur = 0, breakpoints.clear();
+    cur = 0, cur = 0, breakpoints.clear ();
     parser.push_input (gv_breakpoint_table3);
     parser.set_mode (GDBMIParser::BROKEN_MODE);
     BOOST_REQUIRE (parser.parse_breakpoint_table (cur, cur, breakpoints));
+
+    cur = 0, cur = 0, breakpoints.clear ();
+    parser.push_input (gv_breakpoint_table4);
+    parser.set_mode (GDBMIParser::BROKEN_MODE);
+    BOOST_REQUIRE (parser.parse_breakpoint_table (cur, cur, breakpoints));
+    BOOST_REQUIRE_EQUAL (breakpoints[2].file_full_name (),
+                         "/home/philip/nemiver:temp/main.cpp");
+    BOOST_REQUIRE_EQUAL (breakpoints[2].line (), 78);
 }
 
 void
@@ -817,6 +831,14 @@ test_breakpoint ()
     BOOST_REQUIRE (is_ok);
     BOOST_REQUIRE (breakpoint.file_full_name ().empty ()
                    && !breakpoint.line ());
+
+    parser.push_input (gv_breakpoint2);
+    breakpoint.clear ();
+    is_ok = parser.parse_breakpoint (0, cur, breakpoint);
+    BOOST_REQUIRE (is_ok);
+    BOOST_REQUIRE_EQUAL (breakpoint.file_full_name (),
+                         "/home/philip/nemiver:temp/main.cpp");
+    BOOST_REQUIRE_EQUAL (breakpoint.line (), 78);
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]